nkk-flow 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +180 -0
- package/dist/index.cjs +226 -0
- package/dist/index.js +5682 -0
- package/dist/style.css +2 -0
- package/dist/types/components/ui/cascader/Cascader.vue.d.ts +44 -0
- package/dist/types/components/ui/cascader/index.d.ts +2 -0
- package/dist/types/components/ui/cascader/types.d.ts +27 -0
- package/dist/types/components/ui/checkbox/Checkbox.vue.d.ts +24 -0
- package/dist/types/components/ui/checkbox/index.d.ts +1 -0
- package/dist/types/components/ui/date/DatePanel.vue.d.ts +11 -0
- package/dist/types/components/ui/date/DatePicker.vue.d.ts +21 -0
- package/dist/types/components/ui/date/index.d.ts +2 -0
- package/dist/types/components/ui/date/useFloatingPanel.d.ts +18 -0
- package/dist/types/components/ui/date-time/DateTimePicker.vue.d.ts +18 -0
- package/dist/types/components/ui/date-time/index.d.ts +1 -0
- package/dist/types/components/ui/drawer/Drawer.vue.d.ts +40 -0
- package/dist/types/components/ui/drawer/index.d.ts +1 -0
- package/dist/types/components/ui/empty/Empty.vue.d.ts +11 -0
- package/dist/types/components/ui/empty/index.d.ts +1 -0
- package/dist/types/components/ui/input/Input.vue.d.ts +20 -0
- package/dist/types/components/ui/input/index.d.ts +1 -0
- package/dist/types/components/ui/input-number/InputNumber.vue.d.ts +23 -0
- package/dist/types/components/ui/input-number/index.d.ts +1 -0
- package/dist/types/components/ui/loading/Loading.vue.d.ts +9 -0
- package/dist/types/components/ui/loading/LoadingMask.vue.d.ts +15 -0
- package/dist/types/components/ui/loading/index.d.ts +14 -0
- package/dist/types/components/ui/loading/service.d.ts +20 -0
- package/dist/types/components/ui/radio/Radio.vue.d.ts +26 -0
- package/dist/types/components/ui/radio/index.d.ts +1 -0
- package/dist/types/components/ui/scrollbar/Scrollbar.vue.d.ts +24 -0
- package/dist/types/components/ui/scrollbar/index.d.ts +1 -0
- package/dist/types/components/ui/segmented/Segmented.vue.d.ts +20 -0
- package/dist/types/components/ui/segmented/index.d.ts +2 -0
- package/dist/types/components/ui/segmented/types.d.ts +12 -0
- package/dist/types/components/ui/select/Select.vue.d.ts +34 -0
- package/dist/types/components/ui/select/index.d.ts +2 -0
- package/dist/types/components/ui/select-field/SelectField.vue.d.ts +33 -0
- package/dist/types/components/ui/select-field/index.d.ts +3 -0
- package/dist/types/components/ui/switch/Switch.vue.d.ts +15 -0
- package/dist/types/components/ui/switch/index.d.ts +1 -0
- package/dist/types/components/ui/tree-node/TreeNode.vue.d.ts +55 -0
- package/dist/types/components/ui/tree-node/TreeNodeRow.vue.d.ts +22 -0
- package/dist/types/components/ui/tree-node/context.d.ts +23 -0
- package/dist/types/components/ui/tree-node/index.d.ts +3 -0
- package/dist/types/components/ui/tree-node/types.d.ts +15 -0
- package/dist/types/components/ui/tree-node/utils.d.ts +41 -0
- package/dist/types/hooks/logicflow/adapter.d.ts +17 -0
- package/dist/types/hooks/logicflow/components/add-node-dialog/index.vue.d.ts +18 -0
- package/dist/types/hooks/logicflow/components/index.d.ts +3 -0
- package/dist/types/hooks/logicflow/components/node-config/ApprovalNodeConfig.vue.d.ts +4 -0
- package/dist/types/hooks/logicflow/components/node-config/CcNodeConfig.vue.d.ts +4 -0
- package/dist/types/hooks/logicflow/components/node-config/ConditionNodeConfig.vue.d.ts +4 -0
- package/dist/types/hooks/logicflow/components/node-config/StartNodeConfig.vue.d.ts +4 -0
- package/dist/types/hooks/logicflow/components/node-config/TimerNodeConfig.vue.d.ts +4 -0
- package/dist/types/hooks/logicflow/components/node-config/index.d.ts +19 -0
- package/dist/types/hooks/logicflow/components/node-config/index.vue.d.ts +43 -0
- package/dist/types/hooks/logicflow/components/node-config/types.d.ts +28 -0
- package/dist/types/hooks/logicflow/components/primitives/pickers/NodeConfigAssigneePicker.vue.d.ts +56 -0
- package/dist/types/hooks/logicflow/components/primitives/pickers/NodeConfigAssigneeTags.vue.d.ts +12 -0
- package/dist/types/hooks/logicflow/components/primitives/pickers/NodeConfigInitiatorPicker.vue.d.ts +30 -0
- package/dist/types/hooks/logicflow/components/primitives/ui/NodeConfigAddButton.vue.d.ts +12 -0
- package/dist/types/hooks/logicflow/components/primitives/ui/NodeConfigRadioCard.vue.d.ts +14 -0
- package/dist/types/hooks/logicflow/components/primitives/ui/NodeConfigSectionTitle.vue.d.ts +9 -0
- package/dist/types/hooks/logicflow/defaults.d.ts +9 -0
- package/dist/types/hooks/logicflow/edges/index.d.ts +1 -0
- package/dist/types/hooks/logicflow/edges/process/FlowProcessEdge.d.ts +34 -0
- package/dist/types/hooks/logicflow/edges/process/index.d.ts +1 -0
- package/dist/types/hooks/logicflow/index.d.ts +31 -0
- package/dist/types/hooks/logicflow/nodes/process/FlowProcessNode.d.ts +93 -0
- package/dist/types/hooks/logicflow/nodes/process/index.d.ts +1 -0
- package/dist/types/hooks/logicflow/register.d.ts +2 -0
- package/dist/types/hooks/logicflow/types/form.d.ts +26 -0
- package/dist/types/hooks/logicflow/types/index.d.ts +3 -0
- package/dist/types/hooks/logicflow/types/logicflow.d.ts +209 -0
- package/dist/types/hooks/logicflow/types/process/base.d.ts +52 -0
- package/dist/types/hooks/logicflow/types/process/endpoint.d.ts +19 -0
- package/dist/types/hooks/logicflow/types/process/router.d.ts +48 -0
- package/dist/types/hooks/logicflow/types/process/task.d.ts +86 -0
- package/dist/types/hooks/logicflow/types/process.d.ts +24 -0
- package/dist/types/index.d.ts +1 -0
- package/package.json +77 -0
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,s)=>(s=n==null?{}:e(i(n)),o(r||!n||!n.__esModule||!a.call(n,`default`)?t(s,`default`,{value:n,enumerable:!0}):s,n));let c=require("@logicflow/core");c=s(c,1);let l=require("@logicflow/extension"),u=require("vue"),d=require("@vueuse/core");var f={start:{width:240,height:88},approval:{width:240,height:88},cc:{width:240,height:88},condition:{width:240,height:88},router:{width:70,height:30},call:{width:240,height:88},timer:{width:240,height:88},trigger:{width:240,height:88},route:{width:240,height:88},autoPass:{width:240,height:88},autoReject:{width:240,height:88},end:{width:240,height:88}},p={width:34,height:34},m=`flex h-6 min-w-0 items-center truncate rounded border border-transparent px-2 text-sm font-semibold text-white`,h=`h-6 min-w-0 flex-1 rounded border border-slate-200 bg-white px-2 text-sm font-semibold leading-5 text-slate-800 outline-none placeholder:text-slate-400`,g={start:{strip:`#64748b`,badge:`#e2e8f0`,border:`#cbd5e1`,label:`发起人`},approval:{strip:`#f59e0b`,badge:`#fef3c7`,border:`#fcd34d`,label:`审核人`},cc:{strip:`#2563eb`,badge:`#dbeafe`,border:`#93c5fd`,label:`抄送人`},condition:{strip:`#16a34a`,badge:`#dcfce7`,border:`#86efac`,label:`条件路由`},router:{strip:`#84cc16`,badge:`#ecfccb`,border:`#bef264`,label:`添加条件`},call:{strip:`#7c3aed`,badge:`#ede9fe`,border:`#c4b5fd`,label:`子流程`},timer:{strip:`#0f766e`,badge:`#ccfbf1`,border:`#5eead4`,label:`延迟等待`},trigger:{strip:`#db2777`,badge:`#fce7f3`,border:`#f9a8d4`,label:`触发器`},route:{strip:`#0284c7`,badge:`#e0f2fe`,border:`#7dd3fc`,label:`路由分支`},autoPass:{strip:`#16a34a`,badge:`#dcfce7`,border:`#86efac`,label:`自动通过`},autoReject:{strip:`#dc2626`,badge:`#fee2e2`,border:`#fca5a5`,label:`自动拒绝`},end:{strip:`#9ca3af`,badge:`#f3f4f6`,border:`#d1d5db`,label:`结束`}},_={start:`start`,approval:`approval`,cc:`cc`,condition:`condition`,router:`router`,call:`call`,timer:`timer`,trigger:`trigger`,route:`route`,autoPass:`autoPass`,autoReject:`autoReject`,end:`end`};function v(e){return e.replaceAll(`&`,`&`).replaceAll(`<`,`<`).replaceAll(`>`,`>`).replaceAll(`"`,`"`).replaceAll(`'`,`'`)}function y(e){return f[e]}function b(e){return _[e]??`approval`}var x=class extends c.HtmlNodeModel{isEditable(){return this.graphModel.flowOptions?.editable!==!1}getFlowDisplayMeta(){let e=this.properties,t=this.isEditable(),n=b(String(e.kind??`approval`)),r=Number(e.nodeType??1),i=e.routerType===`parallel`||e.routerType===`inclusive`?e.routerType:`condition`,a=i===`parallel`?`并行分支`:i===`inclusive`?`包容分支`:`条件分支`;return{kind:n,nodeType:r,title:String(e.title??(t?this.text?.value??`未命名节点`:n===`router`?a:n===`condition`?`条件分支`:this.text?.value??`未命名节点`)),content:String(e.content??``),subtitle:String(e.subtitle??``),badge:String(e.badge??``),gatewayRole:e.gatewayRole===`merge`?`merge`:`split`,routerType:i,branchRole:e.branchRole==="default"?`default`:`normal`,priority:Number(e.priority??1),description:String(e.description??``),assignees:Array.isArray(e.assignees)?e.assignees:[],nodeAssigneeList:Array.isArray(e.nodeAssigneeList)?e.nodeAssigneeList:void 0,conditions:Array.isArray(e.conditions)?e.conditions:[],setType:typeof e.setType==`number`?e.setType:void 0,examineMode:typeof e.examineMode==`number`||typeof e.examineMode==`string`?e.examineMode:void 0,directorLevel:typeof e.directorLevel==`number`?e.directorLevel:void 0,directorMode:typeof e.directorMode==`number`?e.directorMode:void 0,selectMode:typeof e.selectMode==`number`||typeof e.selectMode==`string`?e.selectMode:void 0,termMode:typeof e.termMode==`number`?e.termMode:void 0,typeOfApprove:typeof e.typeOfApprove==`number`?e.typeOfApprove:void 0,approveSelf:typeof e.approveSelf==`number`||typeof e.approveSelf==`string`?e.approveSelf:void 0,rejectStrategy:e.rejectStrategy===1||e.rejectStrategy===2||e.rejectStrategy===3||e.rejectStrategy===4?e.rejectStrategy:void 0,allowTransfer:typeof e.allowTransfer==`boolean`?e.allowTransfer:void 0,allowCc:typeof e.allowCc==`boolean`?e.allowCc:void 0,delayTime:typeof e.delayTime==`number`||e.delayTime===null?e.delayTime:void 0,delayUnit:e.delayUnit===`day`||e.delayUnit===`hour`||e.delayUnit===`minute`?e.delayUnit:void 0,conditionList:Array.isArray(e.conditionList)?e.conditionList:void 0}}setAttributes(){super.setAttributes();let e=this.getFlowDisplayMeta(),t=e.kind===`router`&&e.gatewayRole===`merge`?p:y(e.kind);this.width=t.width,this.height=t.height,this.text.value=``,this.text.editable=!1,this.text.draggable=!1}},S=class extends c.HtmlNode{getFlowOptions(){return this.props.graphModel.flowOptions}canDelete(e){return this.getFlowOptions()?.editable===!1||this.getFlowOptions()?.interaction?.enableNodeDelete===!1||e.kind===`start`||e.kind===`end`||e.kind===`router`?!1:e.branchRole!=="default"}emitNodeAction(e,t){let n=this.props.model,r={nodeId:n.id,nodeKey:n.id,nodeType:e.nodeType??1,kind:e.kind,title:e.title,content:e.content,description:e.description,assignees:e.assignees,nodeAssigneeList:e.nodeAssigneeList,setType:e.setType,examineMode:e.examineMode,directorLevel:e.directorLevel,directorMode:e.directorMode,selectMode:e.selectMode,termMode:e.termMode,typeOfApprove:e.typeOfApprove,approveSelf:e.approveSelf,rejectStrategy:e.rejectStrategy,allowTransfer:e.allowTransfer,allowCc:e.allowCc,delayTime:e.delayTime,delayUnit:e.delayUnit,routerType:e.routerType,branchRole:e.branchRole,conditionList:e.conditionList};this.props.graphModel.eventCenter.emit(t,r)}emitNodeTitleChange(e,t){let n=this.props.model;this.props.graphModel.eventCenter.emit(`flow:node:title-change`,{nodeId:n.id,nodeKey:n.id,nodeType:e.nodeType??1,kind:e.kind,title:t})}restoreTitleEditor(e,t,n){let r=e.querySelector(`[data-flow-node-title-input]`);if(!r)return;let i=r.parentElement;if(!i)return;let a=i.querySelector(`[data-flow-node-edit]`),o=document.createElement(`span`);if(o.setAttribute(`data-flow-node-title-text`,`true`),o.className=m,o.textContent=t,a){a.hidden=!1,r.replaceWith(o);return}let s=document.createElement(`button`);s.type=`button`,s.setAttribute(`data-flow-node-edit`,`true`),s.setAttribute(`aria-label`,`编辑标题`),s.className=`inline-flex size-5 shrink-0 cursor-pointer items-center justify-center rounded text-white transition hover:bg-white/15`,s.innerHTML=`
|
|
2
|
+
<svg viewBox="0 0 24 24" aria-hidden="true" class="size-4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
3
|
+
<path d="M12 20h9" />
|
|
4
|
+
<path d="M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z" />
|
|
5
|
+
</svg>
|
|
6
|
+
`,s.addEventListener(`pointerdown`,e=>{e.stopPropagation()}),s.addEventListener(`click`,t=>{t.stopPropagation(),t.preventDefault(),this.enterTitleEditMode(e,n)}),r.replaceWith(o,s)}enterTitleEditMode(e,t){let n=e.querySelector(`[data-flow-node-shell]`),r=e.querySelector(`[data-flow-node-title-text]`);if(!n||!r)return;let i=(r.textContent||t.title).trim(),a=e.querySelector(`[data-flow-node-title-input]`);if(a){a.focus();let e=a.value.length;a.setSelectionRange(e,e);return}let o=document.createElement(`input`);o.type=`text`,o.value=i,o.setAttribute(`data-flow-node-title-input`,`true`),o.className=h,o.addEventListener(`blur`,()=>{let n=o.value.trim()||i;this.restoreTitleEditor(e,n,t),this.emitNodeTitleChange(t,n)}),o.addEventListener(`keydown`,e=>{e.key===`Enter`&&(e.preventDefault(),o.blur()),e.key===`Escape`&&(e.preventDefault(),o.value=i,o.blur())});let s=r.parentElement;if(!s)return;let c=s.querySelector(`[data-flow-node-edit]`);c&&(c.hidden=!0),r.remove(),s.insertBefore(o,s.firstChild),requestAnimationFrame(()=>{o.focus();let e=o.value.length;o.setSelectionRange(e,e)})}canEditTitle(e){return this.getFlowOptions()?.editable?e.kind===`end`||e.kind===`router`||e.kind===`start`||e.kind===`approval`||e.kind===`cc`||e.kind===`condition`||e.kind===`call`||e.kind===`timer`||e.kind===`trigger`||e.kind===`route`||e.kind===`autoPass`||e.kind===`autoReject`:!1}renderEditButton(e){return this.canEditTitle(e)?`
|
|
7
|
+
<button
|
|
8
|
+
type="button"
|
|
9
|
+
data-flow-node-edit
|
|
10
|
+
aria-label="编辑标题"
|
|
11
|
+
class="inline-flex size-5 shrink-0 cursor-pointer items-center justify-center rounded text-white transition hover:bg-white/15"
|
|
12
|
+
>
|
|
13
|
+
<svg viewBox="0 0 24 24" aria-hidden="true" class="size-4" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
|
|
14
|
+
<path d="M12 20h9" />
|
|
15
|
+
<path d="M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z" />
|
|
16
|
+
</svg>
|
|
17
|
+
</button>
|
|
18
|
+
`:``}renderDeleteButton(e,t=`dark`){return this.canDelete(e)?`
|
|
19
|
+
<button
|
|
20
|
+
type="button"
|
|
21
|
+
data-flow-node-delete
|
|
22
|
+
aria-label="删除节点"
|
|
23
|
+
class="inline-flex size-6 shrink-0 cursor-pointer items-center justify-center transition ${this.getFlowOptions()?.interaction?.showNodeDeleteOnHover===!1?`opacity-100`:`opacity-0 group-hover:opacity-100`} ${t===`light`?`text-slate-400 hover:text-slate-600`:`text-white hover:text-white/80`}"
|
|
24
|
+
>
|
|
25
|
+
<svg viewBox="0 0 24 24" aria-hidden="true" class="size-4" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
|
|
26
|
+
<path d="M6 6l12 12" />
|
|
27
|
+
<path d="M18 6 6 18" />
|
|
28
|
+
</svg>
|
|
29
|
+
</button>
|
|
30
|
+
`:``}renderConditionDeleteButton(e){return this.canDelete(e)?`
|
|
31
|
+
<button
|
|
32
|
+
type="button"
|
|
33
|
+
data-flow-node-delete
|
|
34
|
+
aria-label="删除节点"
|
|
35
|
+
class="absolute right-0 top-0 inline-flex cursor-pointer items-center justify-center rounded p-0.5 text-slate-400 opacity-0 pointer-events-none transition-opacity duration-300 ease-in-out hover:bg-gray-100 hover:text-slate-600 group-hover:opacity-100 group-hover:pointer-events-auto"
|
|
36
|
+
>
|
|
37
|
+
<svg viewBox="0 0 24 24" aria-hidden="true" class="size-4" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round">
|
|
38
|
+
<path d="M6 6l12 12" />
|
|
39
|
+
<path d="M18 6 6 18" />
|
|
40
|
+
</svg>
|
|
41
|
+
</button>
|
|
42
|
+
`:``}renderKindIcon(e){let t={class:`size-3.5 shrink-0`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`};switch(e){case`start`:return`
|
|
43
|
+
<svg viewBox="0 0 24 24" ${this.toAttrs(t)}>
|
|
44
|
+
<path d="M20 21a8 8 0 0 0-16 0" />
|
|
45
|
+
<circle cx="12" cy="7" r="4" />
|
|
46
|
+
</svg>
|
|
47
|
+
`;case`approval`:return`
|
|
48
|
+
<svg viewBox="0 0 24 24" ${this.toAttrs(t)}>
|
|
49
|
+
<path d="M20 21a8 8 0 0 0-16 0" />
|
|
50
|
+
<circle cx="12" cy="7" r="4" />
|
|
51
|
+
<path d="M9 7l2 2 4-4" />
|
|
52
|
+
</svg>
|
|
53
|
+
`;case`cc`:return`
|
|
54
|
+
<svg viewBox="0 0 24 24" ${this.toAttrs(t)}>
|
|
55
|
+
<rect x="4" y="6" width="16" height="12" rx="2" />
|
|
56
|
+
<path d="m4 8 8 5 8-5" />
|
|
57
|
+
</svg>
|
|
58
|
+
`;case`condition`:return`
|
|
59
|
+
<svg viewBox="0 0 24 24" ${this.toAttrs(t)}>
|
|
60
|
+
<path d="M4 12h6" />
|
|
61
|
+
<path d="M14 12h6" />
|
|
62
|
+
<path d="M10 8l4 4-4 4" />
|
|
63
|
+
</svg>
|
|
64
|
+
`;case`router`:return`
|
|
65
|
+
<svg viewBox="0 0 24 24" ${this.toAttrs(t)}>
|
|
66
|
+
<path d="M12 5v14" />
|
|
67
|
+
<path d="M8 9h8" />
|
|
68
|
+
<path d="M8 15h8" />
|
|
69
|
+
<circle cx="12" cy="12" r="2" />
|
|
70
|
+
</svg>
|
|
71
|
+
`;case`call`:return`
|
|
72
|
+
<svg viewBox="0 0 24 24" ${this.toAttrs(t)}>
|
|
73
|
+
<path d="M7 5h10v14H7z" />
|
|
74
|
+
<path d="M10 9h4" />
|
|
75
|
+
<path d="M10 13h4" />
|
|
76
|
+
</svg>
|
|
77
|
+
`;case`timer`:return`
|
|
78
|
+
<svg viewBox="0 0 24 24" ${this.toAttrs(t)}>
|
|
79
|
+
<circle cx="12" cy="13" r="7" />
|
|
80
|
+
<path d="M12 9v4l3 2" />
|
|
81
|
+
<path d="M9 3h6" />
|
|
82
|
+
</svg>
|
|
83
|
+
`;case`trigger`:return`
|
|
84
|
+
<svg viewBox="0 0 24 24" ${this.toAttrs(t)}>
|
|
85
|
+
<path d="M13 2 4 14h6l-1 8 9-12h-6z" />
|
|
86
|
+
</svg>
|
|
87
|
+
`;case`route`:return`
|
|
88
|
+
<svg viewBox="0 0 24 24" ${this.toAttrs(t)}>
|
|
89
|
+
<path d="M6 7h4v10H6" />
|
|
90
|
+
<path d="M14 7h4v10h-4" />
|
|
91
|
+
<path d="M10 12h4" />
|
|
92
|
+
</svg>
|
|
93
|
+
`;case`router`:return`
|
|
94
|
+
<svg viewBox="0 0 24 24" ${this.toAttrs(t)}>
|
|
95
|
+
<path d="M12 5v14" />
|
|
96
|
+
<path d="M8 9h8" />
|
|
97
|
+
<path d="M8 15h8" />
|
|
98
|
+
<circle cx="12" cy="12" r="2" />
|
|
99
|
+
</svg>
|
|
100
|
+
`;case`autoPass`:return`
|
|
101
|
+
<svg viewBox="0 0 24 24" ${this.toAttrs(t)}>
|
|
102
|
+
<circle cx="12" cy="12" r="9" />
|
|
103
|
+
<path d="m8 12 3 3 5-6" />
|
|
104
|
+
</svg>
|
|
105
|
+
`;case`autoReject`:return`
|
|
106
|
+
<svg viewBox="0 0 24 24" ${this.toAttrs(t)}>
|
|
107
|
+
<circle cx="12" cy="12" r="9" />
|
|
108
|
+
<path d="M9 9l6 6" />
|
|
109
|
+
<path d="M15 9l-6 6" />
|
|
110
|
+
</svg>
|
|
111
|
+
`;case`end`:return`
|
|
112
|
+
<svg viewBox="0 0 24 24" ${this.toAttrs(t)}>
|
|
113
|
+
<path d="M6 7h12v10H6z" />
|
|
114
|
+
<path d="M9 10h6" />
|
|
115
|
+
</svg>
|
|
116
|
+
`;default:return`
|
|
117
|
+
<svg viewBox="0 0 24 24" ${this.toAttrs(t)}>
|
|
118
|
+
<circle cx="12" cy="12" r="8" />
|
|
119
|
+
</svg>
|
|
120
|
+
`}}toAttrs(e){return Object.entries(e).map(([e,t])=>`${e}="${String(t)}"`).join(` `)}renderHeader(e){return`
|
|
121
|
+
<div class="flex min-w-0 flex-1 items-center gap-2">
|
|
122
|
+
<span class="inline-flex size-4 shrink-0 items-center justify-center rounded-full text-white">
|
|
123
|
+
${this.renderKindIcon(e.kind)}
|
|
124
|
+
</span>
|
|
125
|
+
<div class="-ml-[9px] flex h-6 min-w-0 flex-1 items-center gap-1">
|
|
126
|
+
<span data-flow-node-title-text class="${m}">${v(e.title)}</span>
|
|
127
|
+
${this.renderEditButton(e)}
|
|
128
|
+
</div>
|
|
129
|
+
</div>
|
|
130
|
+
<div class="flex items-center gap-1">
|
|
131
|
+
${this.renderDeleteButton(e,`dark`)}
|
|
132
|
+
</div>
|
|
133
|
+
`}renderBody(e){let t=e.content||e.description||e.subtitle||``;return t?`<div class="line-clamp-2 break-words text-sm leading-5 text-slate-900">${v(t)}</div>`:`<div class="text-sm leading-5 text-slate-400">未设置</div>`}renderCard(e,t){let n=e.kind===`end`,r=e.kind===`condition`,i=e.kind===`router`,a=e.kind===`router`&&e.gatewayRole===`merge`,o=this.getFlowOptions()?.editable!==!1,s=i&&!o?e.routerType===`parallel`?`并行分支`:e.routerType===`inclusive`?`包容分支`:`条件分支`:t.label;if(n)return`
|
|
134
|
+
<div class="flow-node-card flex h-full w-full flex-col overflow-hidden rounded-md bg-white shadow-sm" style="--flow-hover-border:${t.border};">
|
|
135
|
+
<div class="flex h-7 items-center justify-between rounded-t-md px-4 text-white" style="background:${t.strip};">
|
|
136
|
+
<div class="flex min-w-0 flex-1 items-center gap-2">
|
|
137
|
+
<span class="inline-flex size-4 shrink-0 items-center justify-center text-white">
|
|
138
|
+
${this.renderKindIcon(e.kind)}
|
|
139
|
+
</span>
|
|
140
|
+
<div class="-ml-[9px] flex h-6 min-w-0 flex-1 items-center gap-1">
|
|
141
|
+
<span data-flow-node-title-text class="${m}">${v(e.title||s)}</span>
|
|
142
|
+
${this.renderEditButton(e)}
|
|
143
|
+
</div>
|
|
144
|
+
</div>
|
|
145
|
+
${this.renderDeleteButton(e,`dark`)}
|
|
146
|
+
</div>
|
|
147
|
+
<div class="flex flex-1 min-h-0 items-center px-4 py-3">
|
|
148
|
+
<div class="text-sm leading-6 text-slate-90">${v(e.content||`流程结束`)}</div>
|
|
149
|
+
</div>
|
|
150
|
+
</div>
|
|
151
|
+
`;if(i)return a?`
|
|
152
|
+
<div class="flex h-full w-full items-center justify-center">
|
|
153
|
+
<div class="flow-node-card inline-flex h-[34px] w-[34px] items-center justify-center rounded-full bg-white shadow-sm" style="--flow-hover-border:${t.border}; color:${t.strip};">
|
|
154
|
+
<span style="display:inline-flex; transform:rotate(180deg); transform-origin:center center;">
|
|
155
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">
|
|
156
|
+
<rect x="16" y="16" width="6" height="6" rx="1" />
|
|
157
|
+
<rect x="2" y="16" width="6" height="6" rx="1" />
|
|
158
|
+
<rect x="9" y="2" width="6" height="6" rx="1" />
|
|
159
|
+
<path d="M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3" />
|
|
160
|
+
<path d="M12 12V8" />
|
|
161
|
+
</svg>
|
|
162
|
+
</span>
|
|
163
|
+
</div>
|
|
164
|
+
</div>
|
|
165
|
+
`:`
|
|
166
|
+
<div class="flex h-full w-full items-center justify-center">
|
|
167
|
+
<div class="flow-node-card inline-flex h-[30px] w-[70px] items-center justify-center rounded-[5px] bg-white text-sm font-medium text-lime-700 shadow-sm" style="--flow-hover-border:${t.border};">
|
|
168
|
+
${v(s)}
|
|
169
|
+
</div>
|
|
170
|
+
</div>
|
|
171
|
+
`;if(r){let n=this.canDelete(e);return`
|
|
172
|
+
<div class="flow-node-card group flex h-full w-full flex-col overflow-hidden rounded-lg bg-white shadow-sm" style="--flow-hover-border:${t.border};">
|
|
173
|
+
<div class="flex items-center justify-between px-4 pt-3 text-sm">
|
|
174
|
+
<div class="min-w-0 flex-1">
|
|
175
|
+
<div class="truncate text-sm font-semibold text-emerald-500">${v(e.title)}</div>
|
|
176
|
+
</div>
|
|
177
|
+
<div class="relative flex h-5 min-w-[60px] shrink-0 items-center justify-end">
|
|
178
|
+
<span class="absolute right-0 whitespace-nowrap text-sm font-medium leading-none text-slate-400 opacity-100 pointer-events-none transition-opacity duration-300 ease-in-out ${n?`group-hover:opacity-0`:``}">优先级${e.priority??1}</span>
|
|
179
|
+
${this.renderConditionDeleteButton(e)}
|
|
180
|
+
</div>
|
|
181
|
+
</div>
|
|
182
|
+
<div class="flex flex-1 min-h-0 items-center px-4 pb-3 pt-2">
|
|
183
|
+
<div class="line-clamp-2 break-words text-sm leading-5 text-slate-900">${v(e.content||(e.branchRole==="default"?`其他条件进入此流程`:`请选择添加条件`))}</div>
|
|
184
|
+
</div>
|
|
185
|
+
</div>
|
|
186
|
+
`}return`
|
|
187
|
+
<div class="flow-node-card flex h-full w-full flex-col overflow-hidden rounded-md bg-white shadow-sm" style="--flow-hover-border:${t.border};">
|
|
188
|
+
<div class="flex h-7 items-center justify-between rounded-t-md px-4 text-white" style="background:${t.strip};">
|
|
189
|
+
${this.renderHeader(e)}
|
|
190
|
+
</div>
|
|
191
|
+
<div class="flex flex-1 min-h-0 items-center px-4 py-3">
|
|
192
|
+
<div class="w-full">${this.renderBody(e)}</div>
|
|
193
|
+
</div>
|
|
194
|
+
</div>
|
|
195
|
+
`}setHtml(e){let t=this.props.model,n=t.getFlowDisplayMeta(),r=g[n.kind];e.innerHTML=`
|
|
196
|
+
<div class="flow-node-shell relative h-full w-full overflow-visible group" data-flow-node-shell>
|
|
197
|
+
${this.renderCard(n,r)}
|
|
198
|
+
</div>
|
|
199
|
+
`,e.style.cursor=`pointer`;let i=e.querySelector(`[data-flow-node-shell]`);i&&(i.style.pointerEvents=`auto`),e.querySelectorAll(`[data-flow-node-delete]`).forEach(e=>{e.addEventListener(`pointerdown`,e=>{e.stopPropagation()}),e.addEventListener(`click`,e=>{e.stopPropagation(),e.preventDefault(),this.emitNodeAction(n,`flow:node:delete`)})}),e.querySelectorAll(`[data-flow-node-edit]`).forEach(t=>{t.addEventListener(`pointerdown`,e=>{e.stopPropagation()}),t.addEventListener(`click`,t=>{t.stopPropagation(),t.preventDefault(),this.enterTitleEditMode(e,n)})}),n.kind===`router`&&n.gatewayRole!==`merge`?(e.style.pointerEvents=`auto`,e.style.cursor=this.getFlowOptions()?.editable===!1?`default`:`pointer`,e.onclick=()=>{this.emitNodeAction(n,`flow:node:click`),this.getFlowOptions()?.editable!==!1&&this.props.graphModel.eventCenter.emit(`flow:router:add-branch`,{nodeId:t.id,routerType:n.routerType})}):e.onclick=()=>{n.branchRole!=="default"&&this.emitNodeAction(n,`flow:node:click`)}}};function C(e){e.register({type:`flow-process`,view:S,model:x})}var w=520,T=72,E=150,D=150,ee=150,O=120;function k(e,t,n,r){return{id:e,type:`flow-process`,x:t,y:n,text:{value:``,x:t,y:n,editable:!1,draggable:!1},properties:r}}function A(e){let t=Number(e.properties?.height??0);return{x:e.x,y:e.y+t/2}}function j(e){let t=Number(e.properties?.height??0);return{x:e.x,y:e.y-t/2}}function M(e){return{x:e.x,y:e.y}}function N(e){return e.properties?.kind===`router`}function P(e){return e.properties?.kind===`condition`}function F(e){return N(e)&&e.properties?.gatewayRole===`merge`}function I(e){return N(e)&&e.properties?.gatewayRole!==`merge`}function L(e,t){return I(e)&&P(t)||F(e)?M(e):A(e)}function R(e){return N(e)?M(e):j(e)}function z(e,t,n={}){let r=L(e,t),i=R(t);if(Math.abs(r.x-i.x)<1)return[r,i];if(n.routeMode===`vertical-first`){let e=n.fixedBendY??Math.min(r.y+42,i.y-18);return[r,{x:r.x,y:e},{x:i.x,y:e},i]}let a=n.fixedBendY??Math.min(r.y+56,i.y-24);return[r,{x:r.x,y:a},{x:i.x,y:a},i]}function B(e){return!!e&&typeof e==`object`}function V(e){return B(e)&&typeof e.nodeKey==`string`&&typeof e.type==`number`}function H(e){let t=e;for(;!V(t)&&B(t)&&V(t.childNode);)t=t.childNode;return V(t)?t:null}function te(e){return e.nodeName}function ne(e){switch(e.type){case 4:return`condition`;case 8:return`parallel`;case 9:return`inclusive`;default:return null}}function re(e){switch(e.type){case 5:return`call`;case 6:return`timer`;case 7:return`trigger`;case 23:return`route`;case 30:return`autoPass`;case 31:return`autoReject`;default:return null}}function ie(e){return[`call`,`timer`,`trigger`,`route`,`autoPass`,`autoReject`].includes(e)}function U(e){return ne(e)!==null}function W(e){switch(e.type){case 4:return e.conditionNodes??[];case 8:return e.parallelNodes??[];case 9:return e.inclusiveNodes??[];default:return[]}}function ae(e){switch(e.type){case 4:return e.conditionNodes;case 8:return e.parallelNodes;case 9:return e.inclusiveNodes}}function G(e){return U(e)}function K(e){return e.nodeName===`默认条件`||e.nodeKey.endsWith(`-default`)}function oe(e){return K(e)}function q(e){return e.type===0||e.type===-1}function se(e,t){return{nodeName:`${e.type===8?`并行分支`:e.type===9?`包含分支`:`条件`}${t}`,nodeKey:`${e.nodeKey}-${Date.now()}-${t}`,type:3,priorityLevel:t,conditionList:[],childNode:{}}}function ce(e){e.forEach((e,t)=>{e.priorityLevel=t+1})}function le(e,t){if(e.nodeKey===t)return q(e)?{node:e,deleted:!1}:{node:H(e.childNode),deleted:!0};if(G(e)){let n=ae(e),r=n.findIndex(e=>e.nodeKey===t);if(r>=0){let t=n[r];if(oe(t))return{node:e,deleted:!1};n.splice(r,1);let i=H(e.childNode);return n.length>=2?(ce(n),{node:e,deleted:!0}):{node:i,deleted:!0}}for(let r of n){let n=H(r.childNode);if(!n)continue;let i=le(n,t);if(i.deleted)return r.childNode=i.node??{},{node:e,deleted:!0}}}let n=H(e.childNode);if(!n)return{node:e,deleted:!1};let r=le(n,t);return r.deleted?(e.childNode=r.node??{},{node:e,deleted:!0}):{node:e,deleted:!1}}function ue(e){let t=ae(e);if(e.type===8){t.push(se(e,t.length+1)),ce(t);return}let n=t.findIndex(K),r=n>=0?n:t.length,i=t.filter(e=>!K(e)).length+1;t.splice(r,0,se(e,i)),ce(t)}function J(e,t){let n=H(e);if(!n)return null;if(G(n)&&n.nodeKey===t)return n;if(G(n))for(let e of W(n)){let n=J(e,t);if(n)return n;let r=J(e.childNode,t);if(r)return r}return J(n.childNode,t)}function de(e,t){let n=J(e,t);return n?(ue(n),!0):!1}function fe(e,t){let n=H(e);if(!n)return null;if(n.nodeKey===t)return n;if(G(n))for(let e of W(n)){let n=fe(e,t);if(n)return n;let r=fe(e.childNode,t);if(r)return r}return fe(n.childNode,t)}function pe(e,t,n,r={}){let i=fe(e,t.endsWith(`-merge`)?t.slice(0,-6):t);return i?(i.childNode=ke(n,H(i.childNode),r),!0):!1}function me(e,t){let n=le(e,t);return!n.deleted||!n.node?!1:(n.node!==e&&(Object.keys(e).forEach(t=>{delete e[t]}),Object.assign(e,n.node)),!0)}function he(e,t,n){if(e.nodeKey===t)return e.nodeName=n,!0;if(G(e))for(let r of ae(e)){if(r.nodeKey===t)return r.nodeName=n,!0;let e=H(r.childNode);if(e&&he(e,t,n))return!0}let r=H(e.childNode);return r?he(r,t,n):!1}function ge(e,t,n){return he(e,t,n)}function _e(e,t,n){if(e.nodeKey===t)return Object.assign(e,n),!0;if(G(e))for(let r of ae(e)){if(r.nodeKey===t)return Object.assign(r,n),!0;let e=H(r.childNode);if(e&&_e(e,t,n))return!0}let r=H(e.childNode);return r?_e(r,t,n):!1}function ve(e,t,n){return _e(e,t,n)}function ye(e){let t=re(e);if(t)return t;switch(e.type){case 0:return`start`;case 1:return`approval`;case 2:return`cc`;case 3:return`condition`;case 4:case 8:case 9:return`router`;default:return`end`}}function be(e){return e===`start`?`发起`:e===`approval`?`审批`:e===`cc`?`抄送`:e===`condition`||e===`router`?`条件`:ie(e)?`节点`:`结束`}function xe(e){return!(`nodeAssigneeList`in e)||!Array.isArray(e.nodeAssigneeList)?[]:e.nodeAssigneeList.map(e=>e.name)}function Se(e){let t=`setType`in e&&typeof e.setType==`number`?e.setType:void 0,n=xe(e),r=`examineLevel`in e&&typeof e.examineLevel==`number`?e.examineLevel:void 0;switch(t){case 1:return`指定人员:${n.join(`、`)||`未设置`}`;case 2:return`部门领导:第${r??1}级主管`;case 3:return`指定角色:${n.join(`、`)||`未设置`}`;case 4:return`发起人自选:${n.join(`、`)||`未设置`}`;case 6:return`部门领导:第${r??1}级至1级主管`;default:return`未设置`}}function Ce(e){return(e.conditionList??[]).flat().map(e=>`${e.label} ${e.operator} ${e.value}`)}function we(e){if(!B(e))return null;let t=typeof e.label==`string`?e.label:``,n=typeof e.field==`string`?e.field:``,r=typeof e.operator==`string`?e.operator:``,i=typeof e.value==`string`?e.value:String(e.value??``),a=typeof e.type==`string`?e.type:`custom`;return!n||!r?null:{label:t,field:n,operator:r,value:i,type:a}}function Te(e){if(!Array.isArray(e))return;let t=[];for(let n of e){if(!Array.isArray(n))continue;let e=n.map(e=>we(e)).filter(e=>e!==null);e.length>0&&t.push(e)}return t.length>0?t:[]}function Ee(e){let t=e,n=t.rejectStrategy===1||t.rejectStrategy===2||t.rejectStrategy===3||t.rejectStrategy===4?t.rejectStrategy:void 0;return{setType:typeof t.setType==`number`?t.setType:void 0,examineMode:typeof t.examineMode==`number`||typeof t.examineMode==`string`?t.examineMode:void 0,directorLevel:typeof t.directorLevel==`number`?t.directorLevel:void 0,directorMode:typeof t.directorMode==`number`?t.directorMode:void 0,selectMode:typeof t.selectMode==`number`||typeof t.selectMode==`string`?t.selectMode:void 0,termMode:typeof t.termMode==`number`?t.termMode:void 0,typeOfApprove:typeof t.typeOfApprove==`number`?t.typeOfApprove:void 0,approveSelf:typeof t.approveSelf==`number`||typeof t.approveSelf==`string`?t.approveSelf:void 0,rejectStrategy:n,allowTransfer:typeof t.allowTransfer==`boolean`?t.allowTransfer:void 0,allowCc:typeof t.allowCc==`boolean`?t.allowCc:void 0,delayTime:typeof t.delayTime==`number`||t.delayTime===null?t.delayTime:void 0,delayUnit:t.delayUnit===`day`||t.delayUnit===`hour`||t.delayUnit===`minute`?t.delayUnit:void 0,conditionList:Te(e.conditionList)}}function De(e,t){if(t===`timer`&&e.type===6){let t=typeof e.delayTime==`number`?e.delayTime:null,n={day:`天`,hour:`小时`,minute:`分钟`},r=e.delayUnit===`hour`||e.delayUnit===`minute`||e.delayUnit===`day`?e.delayUnit:`day`;return t===null?`请设置延迟时间`:`${t}${n[r]}后进入下一步`}switch(t){case`call`:return`进入子流程`;case`timer`:return`延迟后继续`;case`trigger`:return`触发器节点`;case`route`:return`路由分支`;case`autoPass`:return`自动通过`;case`autoReject`:return`自动拒绝`;default:return e.nodeName}}function Y(e){return`${e}-${Date.now()}-${Math.random().toString(36).slice(2,8)}`}function Oe(e,t,n,r={}){let i=r.isDefault??!1;return{nodeName:i?r.defaultName??`默认条件`:`${e}${t+1}`,nodeKey:i?`${Y(e)}-default`:Y(e),type:3,priorityLevel:t,conditionList:[],childNode:n??{}}}function ke(e,t,n={}){let r=n[e];if(r)return r({nodeType:e,nextNode:t,createNodeKey:Y});switch(e){case 1:return{nodeName:`审批节点`,nodeKey:Y(`approval`),type:1,nodeAssigneeList:[],examineMode:1,rejectStrategy:4,approveSelf:1,childNode:t??{}};case 2:return{nodeName:`抄送节点`,nodeKey:Y(`copy`),type:2,nodeAssigneeList:[],childNode:t??{}};case 4:return{nodeName:`条件路由`,nodeKey:Y(`condition`),type:4,conditionNodes:[Oe(`条件`,0),Oe(`条件`,1,void 0,{isDefault:!0})],childNode:t??{}};case 5:return{nodeName:`子流程`,nodeKey:Y(`call`),type:5,callProcess:``,callAsync:!1,childNode:t??{}};case 6:return{nodeName:`延迟等待`,nodeKey:Y(`timer`),type:6,delayTime:null,delayUnit:`day`,childNode:t??{}};case 7:return{nodeName:`触发器`,nodeKey:Y(`trigger`),type:7,childNode:t??{}};case 8:return{nodeName:`并行路由`,nodeKey:Y(`parallel`),type:8,parallelNodes:[Oe(`并行分支`,0),Oe(`并行分支`,1)],childNode:t??{}};case 9:return{nodeName:`包容路由`,nodeKey:Y(`inclusive`),type:9,inclusiveNodes:[Oe(`包含分支`,0),Oe(`包含分支`,1,void 0,{isDefault:!0})],childNode:t??{}};case 23:return{nodeName:`路由分支`,nodeKey:Y(`route`),type:23,childNode:t??{}};case 30:return{nodeName:`自动通过`,nodeKey:Y(`auto-pass`),type:30,childNode:t??{}};case 31:return{nodeName:`自动拒绝`,nodeKey:Y(`auto-reject`),type:31,childNode:t??{}};default:return{nodeName:`审批节点`,nodeKey:Y(`approval`),type:1,nodeAssigneeList:[],examineMode:1,rejectStrategy:4,approveSelf:1,childNode:t??{}}}}function Ae(e,t,n){let r=ye(e),i=y(r),a=`nodeAssigneeList`in e&&Array.isArray(e.nodeAssigneeList)?e.nodeAssigneeList.map(e=>({...e})):[],o=r===`start`?`发起人:${a.map(e=>e.name).join(`、`)||`未设置`}`:r===`condition`?`优先级:${`priorityLevel`in e?e.priorityLevel:1}`:r===`router`?te(e):r===`end`?`流程结束`:`节点编号:${e.nodeKey}`,s=r===`start`?a.map(e=>e.name).join(`、`)||`所有人`:r===`approval`?Se(e):r===`cc`?xe(e).join(`、`)||`未设置`:r===`condition`?e.type===3&&e.conditionList?.length?e.conditionList.flat().map(e=>`${e.label}${e.operator}${e.value}`).join(` `):K(e)?`其他条件进入此流程`:`请添加条件`:ie(r)?De(e,r):r===`router`?te(e):`流程结束`;return k(e.nodeKey,t,n,{kind:r,nodeType:e.type,title:te(e),content:s,subtitle:o,badge:be(r),gatewayRole:r===`router`?`split`:void 0,priority:`priorityLevel`in e?e.priorityLevel:void 0,description:r===`approval`||r===`cc`?xe(e).join(`、`):``,assignees:a.map(e=>e.name),nodeAssigneeList:a,conditions:r===`condition`?Ce(e):[],routerType:ne(e)??void 0,branchRole:e.type===3?K(e)?`default`:`normal`:void 0,...Ee(e),width:i.width,height:i.height})}function je(e,t,n){let r=y(`router`);return k(`${e.nodeKey}-merge`,t,n,{kind:`router`,nodeType:e.type,title:`条件汇合`,content:`条件汇合`,subtitle:`条件汇合`,badge:`条件`,gatewayRole:`merge`,routerType:ne(e)??void 0,width:r.width,height:r.height})}function Me(e,t,n,r={}){return{id:n,sourceNodeId:e.id,targetNodeId:t.id,type:`flow-process-edge`,text:``,pointsList:z(e,t,r),startPoint:L(e,t),endPoint:R(t),properties:{__editable:!1,showPlus:r.showPlus??!0,...r}}}function Ne(e){let t=y(ye(e));if(U(e)){let n=W(e).map(e=>Ne(e));if(n.length===0)return t.width;let r=n.reduce((e,t)=>e+t,0)+O*(n.length-1);return Math.max(t.width,r)}let n=H(e.childNode),r=n?Ne(n):0;return Math.max(t.width,r)}function Pe(e,t){if(e.length<=1)return[t];let n=t-(e.reduce((e,t)=>e+t,0)+O*(e.length-1))/2;return e.map(e=>{let t=n+e/2;return n+=e+O,t})}function Fe(e,t,n,r,i,a){let o=H(e);if(!o)throw Error(`Invalid flow node`);e=o;let s=n,c=Ae(e,t,s);if(r.push(c),U(e)){let n=W(e),o=Pe(n.map(e=>Ne(e)),t),l=s+D,u=l,d=[];n.forEach((e,n)=>{let f=o[n]??t,p=Ae(e,f,l);r.push(p),i.push(Me(c,p,`edge-${a.edge++}`,{showPlus:!1,routeMode:`vertical-first`,fixedBendY:s}));let m=H(e.childNode),h=m?Fe(m,f,l+E,r,i,a):{entryId:p.id,exitId:p.id,bottomY:l};if(h.entryId!==p.id){let e=r.find(e=>e.id===h.entryId);e&&i.push(Me(p,e,`edge-${a.edge++}`,{showPlus:!0}))}d.push({exitId:h.exitId}),h.bottomY>u&&(u=h.bottomY)});let f=u+ee,p=je(e,t,f);r.push(p),d.forEach(e=>{let t=r.find(t=>t.id===e.exitId);t&&i.push(Me(t,p,`edge-${a.edge++}`,{showPlus:!0,routeMode:`vertical-first`,fixedBendY:f}))});let m=H(e.childNode),h=m?Fe(m,t,f+E,r,i,a):null;if(h){let e=r.find(e=>e.id===h.entryId);return e&&i.push(Me(p,e,`edge-${a.edge++}`,{showPlus:!0})),{entryId:c.id,exitId:h.exitId,bottomY:h.bottomY}}return{entryId:c.id,exitId:p.id,bottomY:f}}let l=H(e.childNode),u=l?Fe(l,t,n+E,r,i,a):null;if(u){let e=r.find(e=>e.id===u.entryId);return e&&i.push(Me(c,e,`edge-${a.edge++}`)),{entryId:c.id,exitId:u.exitId,bottomY:u.bottomY}}return{entryId:c.id,exitId:c.id,bottomY:n}}function Ie(e){let t=[],n=[];return Fe(e,w,T,t,n,{edge:1}),{nodes:t,edges:n}}function Le(e){let t=H(e);if(!t)return{nodeCount:0,branchCount:0,assigneeCount:0};e=t;let n={nodeCount:1,branchCount:+(e.type===3),assigneeCount:`nodeAssigneeList`in e&&Array.isArray(e.nodeAssigneeList)?e.nodeAssigneeList.length:0};if(U(e))return W(e).reduce((e,t)=>{let n=Le(t),r=Le(t.childNode);return{nodeCount:e.nodeCount+n.nodeCount+r.nodeCount,branchCount:e.branchCount+n.branchCount+r.branchCount,assigneeCount:e.assigneeCount+n.assigneeCount+r.assigneeCount}},{...n,...Le(e.childNode)});let r=Le(e.childNode);return{nodeCount:n.nodeCount+r.nodeCount,branchCount:n.branchCount+r.branchCount,assigneeCount:n.assigneeCount+r.assigneeCount}}function Re(e){return Le(e)}function ze(e){return b(e)}var Be={key:0,class:`pointer-events-none fixed inset-0 z-50 bg-transparent`},Ve=[`data-state`,`data-side`],He={class:`max-h-[420px] overflow-auto px-2 py-2`},Ue={class:`grid grid-cols-2 gap-2`},We=[`onClick`],Ge=[`innerHTML`],Ke={class:`min-w-0 flex-1`},qe={class:`node-picker-title block text-sm font-semibold leading-tight text-slate-700 transition-colors group-hover:text-[color:var(--option-strip)]`},Je={class:`mt-1 block truncate text-xs leading-tight text-slate-400`},Ye=(0,u.defineComponent)({__name:`index`,props:{modelValue:{type:Boolean},options:{},position:{}},emits:[`close`,`select`],setup(e,{emit:t}){let n={1:{strip:`#f59e0b`,badge:`#fef3c7`,border:`#fcd34d`},2:{strip:`#2563eb`,badge:`#dbeafe`,border:`#93c5fd`},4:{strip:`#16a34a`,badge:`#dcfce7`,border:`#86efac`},5:{strip:`#7c3aed`,badge:`#ede9fe`,border:`#c4b5fd`},6:{strip:`#0f766e`,badge:`#ccfbf1`,border:`#5eead4`},7:{strip:`#db2777`,badge:`#fce7f3`,border:`#f9a8d4`},8:{strip:`#84cc16`,badge:`#ecfccb`,border:`#bef264`},9:{strip:`#84cc16`,badge:`#ecfccb`,border:`#bef264`},23:{strip:`#0284c7`,badge:`#e0f2fe`,border:`#7dd3fc`},30:{strip:`#16a34a`,badge:`#dcfce7`,border:`#86efac`},31:{strip:`#dc2626`,badge:`#fee2e2`,border:`#fca5a5`}};function r(e){return n[e]??{strip:`#64748b`,badge:`#e2e8f0`,border:`#cbd5e1`}}function i(e,t){let n=e.replace(`#`,``),r=n.length===3?n.split(``).map(e=>`${e}${e}`).join(``):n,i=Number.parseInt(r,16);return`rgba(${i>>16&255}, ${i>>8&255}, ${i&255}, ${t})`}let a=e,o=t,s=(0,u.ref)(null),c=(0,u.ref)(!1),l=(0,u.ref)(`closed`),f,{width:p,height:m}=(0,d.useElementSize)(s),{width:h,height:g}=(0,d.useWindowSize)(),_=(0,u.computed)(()=>{let e=p.value||380,t=m.value||420,n=a.position.x+24+e+12>h.value,r=a.position.x+24,i=a.position.y-t/2;n&&(r=Math.max(12,a.position.x-e-24)),i=Math.max(12,Math.min(i,g.value-t-12));let o=Math.max(20,Math.min(a.position.y-i,t-20));return{left:`${Math.round(r)}px`,top:`${Math.round(i)}px`,arrowTop:`${Math.round(o)}px`,arrowGap:`6px`,openLeft:n,side:n?`left`:`right`}});async function v(){f&&=(window.clearTimeout(f),void 0),c.value=!0,l.value=`closed`,await(0,u.nextTick)(),requestAnimationFrame(()=>{l.value=`open`,s.value?.focus?.()})}function y(){l.value=`closed`,f=window.setTimeout(()=>{c.value=!1,f=void 0},180)}(0,u.watch)(()=>a.modelValue,e=>{e?v():y()},{immediate:!0});function b(e){if(!a.modelValue)return;let t=e.target;t instanceof Element&&(s.value?.contains(t)||t.closest(`.flow-edge-plus`)||o(`close`))}(0,u.watch)(()=>a.modelValue,e=>{e?document.addEventListener(`pointerdown`,b,!0):document.removeEventListener(`pointerdown`,b,!0)},{immediate:!0}),(0,u.onBeforeUnmount)(()=>{f&&=(window.clearTimeout(f),void 0),document.removeEventListener(`pointerdown`,b,!0)});function x(e){let t=`viewBox="0 0 24 24" class="h-6 w-6 shrink-0" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"`;switch(e){case 1:return`<svg ${t}><path d="M20 21a8 8 0 0 0-16 0" /><circle cx="12" cy="7" r="4" /></svg>`;case 2:return`<svg ${t}><path d="M3 8l7.89 5.26a2 2 0 0 0 2.22 0L21 8M5 19h14a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2z" /></svg>`;case 4:return`<svg ${t}><path d="M12 5v14" /><path d="M8 9h8" /><path d="M8 15h8" /><circle cx="12" cy="12" r="2" /></svg>`;case 5:return`<svg ${t}><path d="M7 5h10v14H7z" /><path d="M10 9h4" /><path d="M10 13h4" /></svg>`;case 6:return`<svg ${t}><circle cx="12" cy="13" r="7" /><path d="M12 9v4l3 2" /><path d="M9 3h6" /></svg>`;case 7:return`<svg ${t}><path d="M13 2 4 14h6l-1 8 9-12h-6z" /></svg>`;case 8:return`<svg ${t}><path d="M6 7h4v10H6" /><path d="M14 7h4v10h-4" /><path d="M10 12h4" /></svg>`;case 9:return`<svg ${t}><path d="M4 12h6" /><path d="M14 12h6" /><path d="M10 8l4 4-4 4" /></svg>`;case 23:return`<svg ${t}><path d="M6 7h12v10H6z" /><path d="M9 10h6" /></svg>`;case 30:return`<svg ${t}><circle cx="12" cy="12" r="9" /><path d="m8 12 3 3 5-6" /></svg>`;case 31:return`<svg ${t}><circle cx="12" cy="12" r="9" /><path d="M9 9l6 6" /><path d="M15 9l-6 6" /></svg>`;default:return`<svg ${t}><circle cx="12" cy="12" r="8" /></svg>`}}return(t,n)=>((0,u.openBlock)(),(0,u.createBlock)(u.Teleport,{to:`body`},[c.value?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,Be,[(0,u.createElementVNode)(`div`,{ref_key:`panelRef`,ref:s,class:`node-picker-panel absolute w-[380px] rounded-xl border border-slate-200 bg-white shadow-[0_20px_50px_rgba(15,23,42,0.16)] pointer-events-auto`,"data-state":l.value,"data-side":_.value.side,style:(0,u.normalizeStyle)({left:_.value.left,top:_.value.top,"--arrow-top":_.value.arrowTop,"--arrow-gap":_.value.arrowGap}),role:`dialog`,"aria-modal":`true`},[n[0]||=(0,u.createElementVNode)(`span`,{class:`node-picker-arrow`,"aria-hidden":`true`},null,-1),n[1]||=(0,u.createElementVNode)(`div`,{class:`border-b border-slate-200 px-4 py-3`},[(0,u.createElementVNode)(`div`,{class:`text-sm font-semibold text-slate-950`},`添加节点`),(0,u.createElementVNode)(`div`,{class:`mt-1 text-xs text-slate-500`},`选择一个节点插入到当前流程下方`)],-1),(0,u.createElementVNode)(`div`,He,[(0,u.createElementVNode)(`div`,Ue,[((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(e.options,e=>((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{key:e.type,class:`node-picker-option group relative flex cursor-pointer items-center overflow-hidden rounded-md border border-slate-200 bg-white p-1 text-left focus-visible:outline-none`,type:`button`,style:(0,u.normalizeStyle)({"--option-border":r(e.type).border,"--option-strip":r(e.type).strip}),onClick:t=>o(`select`,e.type)},[(0,u.createElementVNode)(`span`,{class:`node-picker-icon mr-3 flex h-12 w-12 shrink-0 items-center justify-center rounded-xl transition-all duration-200`,style:(0,u.normalizeStyle)({backgroundColor:i(r(e.type).strip,.02),color:r(e.type).strip}),innerHTML:x(e.type)},null,12,Ge),(0,u.createElementVNode)(`span`,Ke,[(0,u.createElementVNode)(`span`,qe,(0,u.toDisplayString)(e.label),1),(0,u.createElementVNode)(`span`,Je,(0,u.toDisplayString)(e.description),1)])],12,We))),128))])])],12,Ve)])):(0,u.createCommentVNode)(``,!0)]))}}),Xe=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},Ze=Xe(Ye,[[`__scopeId`,`data-v-dec2f897`]]),Qe={class:`flex shrink-0 items-start justify-between gap-4 border-b border-slate-200 px-5 py-3`},$e={class:`min-w-0`},et={key:0,class:`truncate text-[15px] font-semibold leading-5 text-slate-950`},tt={key:0,class:`mt-0.5 text-xs leading-4 text-slate-500`},nt={class:`min-h-0 flex-1 overflow-hidden`},rt={key:0,class:`shrink-0 border-t border-slate-200 px-5 py-4`},it=Xe((0,u.defineComponent)({__name:`Drawer`,props:{modelValue:{type:Boolean},title:{default:``},description:{default:``},side:{default:`right`},closeOnOverlay:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0}},emits:[`update:modelValue`,`close`],setup(e,{emit:t}){let n=e,r=t,i=(0,u.ref)(null),a=(0,u.computed)(()=>`fixed z-50 flex flex-col border border-slate-200 bg-white text-slate-950 shadow-lg outline-none ${{right:`inset-y-0 right-0 h-full w-full max-w-[520px] border-l`,left:`inset-y-0 left-0 h-full w-full max-w-[520px] border-r`,bottom:`inset-x-0 bottom-0 max-h-[85vh] rounded-t-2xl border-t`,top:`inset-x-0 top-0 max-h-[85vh] rounded-b-2xl border-b`}[n.side]}`),o=(0,u.computed)(()=>`drawer-${n.side}`);function s(){r(`update:modelValue`,!1),r(`close`)}function c(){n.closeOnOverlay&&s()}return(0,d.useEventListener)(window,`keydown`,e=>{!n.modelValue||!n.closeOnEsc||e.key!==`Escape`||s()}),(0,u.watch)(()=>n.modelValue,async e=>{e&&(await(0,u.nextTick)(),i.value?.focus())}),(t,n)=>((0,u.openBlock)(),(0,u.createBlock)(u.Teleport,{to:`body`},[(0,u.createVNode)(u.Transition,{name:`drawer-fade`},{default:(0,u.withCtx)(()=>[e.modelValue?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,{key:0,class:`fixed inset-0 z-40`,style:{"background-color":`rgba(0, 0, 0, .4)`},onClick:c})):(0,u.createCommentVNode)(``,!0)]),_:1}),(0,u.createVNode)(u.Transition,{name:o.value},{default:(0,u.withCtx)(()=>[e.modelValue?((0,u.openBlock)(),(0,u.createElementBlock)(`section`,{key:0,ref_key:`panelRef`,ref:i,class:(0,u.normalizeClass)(a.value),role:`dialog`,"aria-modal":`true`,tabindex:`-1`,onClick:n[0]||=(0,u.withModifiers)(()=>{},[`stop`])},[(0,u.createElementVNode)(`div`,Qe,[(0,u.createElementVNode)(`div`,$e,[(0,u.renderSlot)(t.$slots,`title`,{},()=>[e.title?((0,u.openBlock)(),(0,u.createElementBlock)(`h2`,et,(0,u.toDisplayString)(e.title),1)):(0,u.createCommentVNode)(``,!0)],!0),(0,u.renderSlot)(t.$slots,`description`,{},()=>[e.description?((0,u.openBlock)(),(0,u.createElementBlock)(`p`,tt,(0,u.toDisplayString)(e.description),1)):(0,u.createCommentVNode)(``,!0)],!0)]),(0,u.createElementVNode)(`button`,{type:`button`,class:`inline-flex size-8 shrink-0 cursor-pointer items-center justify-center rounded-md text-slate-500 transition hover:bg-slate-100 hover:text-slate-900`,"aria-label":`关闭`,onClick:s},[...n[1]||=[(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`size-4`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`},[(0,u.createElementVNode)(`path`,{d:`M18 6 6 18`}),(0,u.createElementVNode)(`path`,{d:`m6 6 12 12`})],-1)]])]),(0,u.createElementVNode)(`div`,nt,[(0,u.renderSlot)(t.$slots,`default`,{},void 0,!0)]),t.$slots.footer?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,rt,[(0,u.renderSlot)(t.$slots,`footer`,{},void 0,!0)])):(0,u.createCommentVNode)(``,!0)],2)):(0,u.createCommentVNode)(``,!0)]),_:3},8,[`name`])]))}}),[[`__scopeId`,`data-v-8f114467`]]),X=(0,u.defineComponent)({inheritAttrs:!1,__name:`Scrollbar`,props:{targetEl:{default:null},thumbWidth:{default:6},thumbMinHeight:{default:28},railInsetRight:{default:8}},setup(e){let t=e,n=(0,u.useAttrs)(),r=(0,u.ref)(!1),i=(0,u.ref)(!1),a=(0,u.ref)(!1),o=(0,u.ref)(0),s=(0,u.ref)(0),c=null,l=null,d,f=(0,u.computed)(()=>[`relative h-full w-full overflow-visible`,n.class].filter(Boolean)),p=(0,u.computed)(()=>a.value&&(r.value||i.value));function m(){return t.targetEl??c}function h(){let e=m();if(!e)return;let{scrollTop:n,scrollHeight:r,clientHeight:i}=e,c=r>i+1;if(a.value=c,!c){o.value=0,s.value=0;return}let l=i/r,u=i,d=Math.max(t.thumbMinHeight,Math.floor(u*l)),f=Math.max(0,u-d),p=Math.max(1,r-i);s.value=d,o.value=Math.min(f,Math.floor(n/p*f))}function g(e){c!==e&&(c&&(c.removeEventListener(`scroll`,h),c.removeEventListener(`input`,h),c.classList.remove(`scrollbar-hide`),l?.disconnect(),l=null),c=e,c&&(c.classList.add(`scrollbar-hide`),c.addEventListener(`scroll`,h,{passive:!0}),c.addEventListener(`input`,h),l=new ResizeObserver(()=>h()),l.observe(c),h()))}function _(){r.value=!0,d&&=(window.clearTimeout(d),void 0),h()}function v(){i.value||(d=window.setTimeout(()=>{r.value=!1},160))}function y(e){let t=m();if(!t)return;i.value=!0,e.preventDefault();let n=e.clientY,r=t.scrollTop,a=o.value,c=Math.max(1,t.clientHeight-s.value),l=Math.max(1,t.scrollHeight-t.clientHeight),u=e=>{let i=e.clientY-n,o=Math.min(c,Math.max(0,a+i));t.scrollTop=r+o/c*l},d=()=>{i.value=!1,document.removeEventListener(`pointermove`,u),document.removeEventListener(`pointerup`,d)};document.addEventListener(`pointermove`,u),document.addEventListener(`pointerup`,d)}return(0,u.watch)(()=>t.targetEl,async e=>{await(0,u.nextTick)(),g(e??null)},{immediate:!0}),(0,u.onBeforeUnmount)(()=>{d&&window.clearTimeout(d),c&&(c.removeEventListener(`scroll`,h),c.removeEventListener(`input`,h)),l?.disconnect(),l=null}),(t,n)=>((0,u.openBlock)(),(0,u.createElementBlock)(`div`,{class:(0,u.normalizeClass)(f.value),onMouseenter:_,onMouseleave:v},[(0,u.renderSlot)(t.$slots,`default`),(0,u.withDirectives)((0,u.createElementVNode)(`div`,{class:`pointer-events-none absolute inset-y-1`,style:(0,u.normalizeStyle)({right:`${e.railInsetRight}px`,width:`${e.thumbWidth+2}px`}),"aria-hidden":`true`},[(0,u.createElementVNode)(`div`,{class:`pointer-events-auto absolute right-0 rounded-full bg-slate-400/50 transition-opacity duration-150`,style:(0,u.normalizeStyle)({top:`${o.value}px`,height:`${s.value}px`,width:`${e.thumbWidth}px`}),onPointerdown:y},null,36)],4),[[u.vShow,p.value]])],34))}}),at={key:0,viewBox:`0 0 24 24`,class:`size-3 text-white`,fill:`none`,stroke:`currentColor`,"stroke-width":`3`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},ot={key:1,viewBox:`0 0 24 24`,class:`size-3 text-slate-500`,fill:`none`,stroke:`currentColor`,"stroke-width":`3`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},st=[`checked`,`indeterminate`,`disabled`],ct=(0,u.defineComponent)({name:`Checkbox`,props:{modelValue:{type:Boolean},disabled:{type:Boolean},indeterminate:{type:Boolean}},emits:[`update:modelValue`],setup(e,{emit:t}){let n=t;return(t,r)=>((0,u.openBlock)(),(0,u.createElementBlock)(`label`,{class:(0,u.normalizeClass)([`inline-flex cursor-pointer select-none items-center gap-2 text-sm leading-5 text-foreground`,{"cursor-not-allowed opacity-50":e.disabled}])},[(0,u.createElementVNode)(`span`,{class:(0,u.normalizeClass)([`inline-flex size-4 shrink-0 items-center justify-center rounded border transition-colors`,e.modelValue?`border-brand-600 bg-brand-600`:e.indeterminate?`border-slate-300 bg-slate-100`:`border-slate-300`])},[e.modelValue?((0,u.openBlock)(),(0,u.createElementBlock)(`svg`,at,[...r[1]||=[(0,u.createElementVNode)(`path`,{d:`M20 6 9 17l-5-5`},null,-1)]])):e.indeterminate?((0,u.openBlock)(),(0,u.createElementBlock)(`svg`,ot,[...r[2]||=[(0,u.createElementVNode)(`path`,{d:`M20 6 9 17l-5-5`},null,-1)]])):(0,u.createCommentVNode)(``,!0)],2),(0,u.createElementVNode)(`input`,{type:`checkbox`,class:`sr-only`,checked:e.modelValue,indeterminate:e.indeterminate,disabled:e.disabled,onChange:r[0]||=e=>n(`update:modelValue`,e.target.checked)},null,40,st),(0,u.renderSlot)(t.$slots,`default`)],2))}}),lt=[`data-disabled`],ut=[`disabled`],dt=[`placeholder`,`disabled`],ft=[`disabled`],pt=(0,u.defineComponent)({inheritAttrs:!1,__name:`InputNumber`,props:(0,u.mergeModels)({placeholder:{default:``},min:{},max:{},step:{},integer:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1}},{modelValue:{default:null},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=(0,u.useModel)(e,`modelValue`),n=e,r=(0,u.useAttrs)(),i=(0,u.computed)(()=>[`flex h-8 w-[150px] rounded-md border border-slate-200 bg-white transition-colors focus-within:border-brand-600 disabled:cursor-not-allowed disabled:opacity-50`,typeof r.class==`string`?r.class:``].filter(Boolean).join(` `)),a=(0,u.computed)({get:()=>t.value?.toString()??``,set:e=>{if(e===``){t.value=null;return}let n=Number(e);t.value=Number.isFinite(n)?n:null}});function o(e){let t=e;return typeof n.min==`number`&&(t=Math.max(t,n.min)),typeof n.max==`number`&&(t=Math.min(t,n.max)),n.integer?Math.round(t):t}function s(){if(n.disabled)return;let e=t.value??n.min??0;t.value=o(e+(n.step??1))}function c(){if(n.disabled)return;let e=t.value??n.min??0;t.value=o(e-(n.step??1))}function l(e){n.disabled||(e.key===`ArrowUp`?(e.preventDefault(),s()):e.key===`ArrowDown`&&(e.preventDefault(),c()))}let d=(0,u.computed)(()=>t.value===null||typeof n.min!=`number`||t.value>n.min),f=(0,u.computed)(()=>t.value===null||typeof n.max!=`number`||t.value<n.max);return(n,r)=>((0,u.openBlock)(),(0,u.createElementBlock)(`div`,{class:(0,u.normalizeClass)(i.value),"data-disabled":e.disabled},[(0,u.createElementVNode)(`button`,{type:`button`,disabled:e.disabled||!d.value,class:`flex w-8 shrink-0 cursor-pointer items-center justify-center rounded-l-md text-slate-400 transition-colors hover:text-slate-900 disabled:cursor-not-allowed disabled:hover:text-slate-400 disabled:opacity-40`,onClick:c},[...r[1]||=[(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`size-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,u.createElementVNode)(`path`,{d:`M5 12h14`})],-1)]],8,ut),(0,u.withDirectives)((0,u.createElementVNode)(`input`,{"onUpdate:modelValue":r[0]||=e=>a.value=e,inputmode:`numeric`,placeholder:e.placeholder,disabled:e.disabled,class:(0,u.normalizeClass)([`min-w-0 flex-1 border-x border-slate-200 bg-transparent px-1 text-center text-sm leading-5 text-foreground outline-none transition-colors placeholder:text-muted-foreground disabled:cursor-not-allowed`,{"border-x-transparent":t.value!==null}]),onKeydown:l},null,42,dt),[[u.vModelText,a.value]]),(0,u.createElementVNode)(`button`,{type:`button`,disabled:e.disabled||!f.value,class:`flex w-8 shrink-0 cursor-pointer items-center justify-center rounded-r-md text-slate-400 transition-colors hover:text-slate-900 disabled:cursor-not-allowed disabled:hover:text-slate-400 disabled:opacity-40`,onClick:s},[...r[2]||=[(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`size-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,u.createElementVNode)(`path`,{d:`M5 12h14`}),(0,u.createElementVNode)(`path`,{d:`M12 5v14`})],-1)]],8,ft)],10,lt))}}),mt={key:0,class:`size-1.5 rounded-full bg-white`},ht=[`value`,`checked`,`disabled`],gt=(0,u.defineComponent)({__name:`Radio`,props:{modelValue:{},value:{},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`,`change`],setup(e,{emit:t}){let n=e,r=t,i=(0,u.computed)(()=>String(n.modelValue)===String(n.value));function a(){n.disabled||(r(`update:modelValue`,n.value),r(`change`,n.value))}return(t,n)=>((0,u.openBlock)(),(0,u.createElementBlock)(`label`,{class:(0,u.normalizeClass)([`inline-flex cursor-pointer select-none items-center gap-2 text-sm leading-5 transition-colors`,i.value?`text-brand-600`:`text-slate-500 hover:text-slate-700`,e.disabled?`cursor-not-allowed opacity-50`:``])},[(0,u.createElementVNode)(`span`,{class:(0,u.normalizeClass)([`relative inline-flex size-4 shrink-0 items-center justify-center rounded-full border-2 transition-colors`,i.value?`border-brand-600 bg-brand-600`:`border-slate-300 bg-white`,e.disabled?`cursor-not-allowed`:``])},[i.value?((0,u.openBlock)(),(0,u.createElementBlock)(`span`,mt)):(0,u.createCommentVNode)(``,!0),(0,u.createElementVNode)(`input`,{type:`radio`,value:e.value,checked:i.value,disabled:e.disabled,class:`sr-only`,onChange:a},null,40,ht)],2),(0,u.renderSlot)(t.$slots,`default`)],2))}}),_t=[`aria-checked`,`disabled`],vt=(0,u.defineComponent)({__name:`Switch`,props:{modelValue:{type:Boolean},disabled:{type:Boolean,default:!1}},emits:[`update:modelValue`,`change`],setup(e,{emit:t}){let n=e,r=t,i=(0,u.computed)(()=>[`relative inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-none`,n.modelValue?`bg-brand-600`:`bg-slate-200`,n.disabled?`cursor-not-allowed opacity-50`:``].join(` `)),a=(0,u.computed)(()=>[`pointer-events-none inline-block size-4 translate-x-0 transform rounded-full bg-white shadow ring-0 transition-transform duration-200 ease-in-out`,n.modelValue?`translate-x-4`:`translate-x-0`].join(` `));function o(){if(n.disabled)return;let e=!n.modelValue;r(`update:modelValue`,e),r(`change`,e)}return(t,n)=>((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{type:`button`,role:`switch`,"aria-checked":e.modelValue,disabled:e.disabled,class:(0,u.normalizeClass)(i.value),onClick:o},[(0,u.createElementVNode)(`span`,{class:(0,u.normalizeClass)(a.value)},null,2)],10,_t))}}),yt={key:0,class:`flex shrink-0 items-center pr-1.5`},bt={key:1,class:`flex shrink-0 items-center pl-1.5`},xt=(0,u.defineComponent)({inheritAttrs:!1,__name:`Input`,props:{modelValue:{default:``},modelModifiers:{}},emits:[`update:modelValue`],setup(e){let t=(0,u.useModel)(e,`modelValue`),n=(0,u.useAttrs)(),r=(0,u.useSlots)(),i=(0,u.computed)(()=>!!r.prefix||!!r.suffix),a=(0,u.computed)(()=>n.disabled!==void 0&&n.disabled!==!1),o=(0,u.computed)(()=>[`h-8 w-full rounded-md border border-slate-200 bg-white px-2.5 text-sm leading-5 text-foreground transition-colors placeholder:text-muted-foreground focus:border-brand-600 focus:outline-none disabled:cursor-not-allowed disabled:border-slate-200 disabled:bg-slate-50 disabled:text-slate-400`,typeof n.class==`string`?n.class:``].filter(Boolean).join(` `)),s=(0,u.computed)(()=>[`flex h-8 w-full items-center rounded-md border border-slate-200 bg-white px-2.5 transition-colors focus-within:border-brand-600`,a.value?`cursor-not-allowed bg-slate-50`:``].join(` `)),c=(0,u.computed)(()=>[`h-8 w-full border-0 bg-transparent text-sm leading-5 text-foreground placeholder:text-muted-foreground focus:outline-none disabled:cursor-not-allowed disabled:text-slate-400`].join(` `));return(e,a)=>i.value?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,{key:0,class:(0,u.normalizeClass)(s.value)},[r.prefix?((0,u.openBlock)(),(0,u.createElementBlock)(`span`,yt,[(0,u.renderSlot)(e.$slots,`prefix`)])):(0,u.createCommentVNode)(``,!0),(0,u.withDirectives)((0,u.createElementVNode)(`input`,(0,u.mergeProps)({"onUpdate:modelValue":a[0]||=e=>t.value=e},{...(0,u.unref)(n),class:c.value}),null,16),[[u.vModelDynamic,t.value]]),r.suffix?((0,u.openBlock)(),(0,u.createElementBlock)(`span`,bt,[(0,u.renderSlot)(e.$slots,`suffix`)])):(0,u.createCommentVNode)(``,!0)],2)):(0,u.withDirectives)(((0,u.openBlock)(),(0,u.createElementBlock)(`input`,(0,u.mergeProps)({key:1,"onUpdate:modelValue":a[1]||=e=>t.value=e},{...(0,u.unref)(n),class:o.value}),null,16)),[[u.vModelDynamic,t.value]])}}),St={class:`flex flex-col items-center justify-center gap-1`},Ct={xmlns:`http://www.w3.org/2000/svg`,width:`63`,height:`40`,viewBox:`0 0 63 40`,fill:`none`,class:`opacity-60`,"aria-hidden":`true`},wt=[`fill`],Tt=[`fill`],Et={class:`text-xs text-muted-foreground`},Dt=0,Z=(0,u.defineComponent)({__name:`Empty`,props:{text:{default:`暂无数据`}},setup(e){let t=e,n=`empty_a_${++Dt}`,r=`empty_b_${++Dt}`;return(e,i)=>((0,u.openBlock)(),(0,u.createElementBlock)(`div`,St,[((0,u.openBlock)(),(0,u.createElementBlock)(`svg`,Ct,[(0,u.createElementVNode)(`path`,{fill:`url(#${n})`,"fill-opacity":`.2`,d:`M53.658 26.772c5.436 1.404 8.782 3.315 8.782 5.423C62.439 36.505 48.46 40 31.22 40 13.978 40 0 36.506 0 32.195c0-2.108 3.345-4.019 8.78-5.424v3.375a4 4 0 0 0 4 4h36.878a4 4 0 0 0 4-4z`},null,8,wt),(0,u.createElementVNode)(`path`,{fill:`url(#${r})`,"fill-opacity":`.2`,d:`M40.969.001a4 4 0 0 1 3.01 1.366l9.68 11.065v17.715a4 4 0 0 1-4 4H12.78a4 4 0 0 1-4-4V12.433l9.678-11.067A4 4 0 0 1 21.47 0z`},null,8,Tt),i[2]||=(0,u.createElementVNode)(`path`,{fill:`#94a3b8`,"fill-opacity":`.25`,d:`M40.969.001a4 4 0 0 1 3.01 1.366l9.432 10.781a1 1 0 0 1 .247.659v17.34l-.004.206a4 4 0 0 1-3.79 3.789l-.206.005H12.781l-.207-.005a4 4 0 0 1-3.789-3.79l-.004-.206V12.808a1 1 0 0 1 .247-.659l9.431-10.783A4 4 0 0 1 21.47 0zM9.781 30.147a3 3 0 0 0 3 3h36.877a3 3 0 0 0 3-3V13.183h-9.887c-.41 0-.818.22-1.139.644s-.534 1.032-.534 1.715v.007c0 .884-.277 1.703-.744 2.312-.468.61-1.15 1.03-1.939 1.03H24.024c-1.59 0-2.683-1.616-2.683-3.33v-.022c0-.683-.213-1.29-.534-1.714s-.729-.642-1.139-.642H9.781zM21.47 1a3 3 0 0 0-2.258 1.025l-8.885 10.158h9.341c.793 0 1.472.426 1.937 1.039.464.612.736 1.435.736 2.317v.021c0 1.418.87 2.33 1.683 2.33h14.391c.413 0 .823-.217 1.146-.637s.537-1.023.537-1.704v-.007c0-.882.272-1.706.736-2.318.464-.614 1.144-1.04 1.937-1.041h9.341L43.228 2.025a3 3 0 0 0-2.258-1.024z`},null,-1),(0,u.createElementVNode)(`defs`,null,[(0,u.createElementVNode)(`linearGradient`,{id:n,x1:`31.22`,x2:`31.22`,y1:`26.771`,y2:`40`,gradientUnits:`userSpaceOnUse`},[...i[0]||=[(0,u.createElementVNode)(`stop`,{"stop-color":`#cbd5e1`,"stop-opacity":`.5`},null,-1),(0,u.createElementVNode)(`stop`,{offset:`1`,"stop-color":`#e2e8f0`},null,-1)]]),(0,u.createElementVNode)(`linearGradient`,{id:r,x1:`31.22`,x2:`31.22`,y1:`34.146`,y2:`0`,gradientUnits:`userSpaceOnUse`},[...i[1]||=[(0,u.createElementVNode)(`stop`,{offset:`.457`,"stop-color":`#e2e8f0`},null,-1),(0,u.createElementVNode)(`stop`,{offset:`1`,"stop-color":`#e2e8f0`,"stop-opacity":`.3`},null,-1)]])])])),(0,u.createElementVNode)(`span`,Et,(0,u.toDisplayString)(t.text),1)]))}}),Ot=Symbol(`TreeNodeContext`),kt={key:1,class:`inline-flex size-4 shrink-0 items-center justify-center`},At={key:3,viewBox:`0 0 24 24`,class:`size-3.5 shrink-0 text-slate-400`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},jt={key:0,d:`M9 21v-6h6v6`},Mt={class:`truncate`},Nt=(0,u.defineComponent)({__name:`TreeNodeRow`,props:{node:{},depth:{}},setup(e){let t=e,n=(0,u.inject)(Ot),r=(0,u.computed)(()=>n.keyOf(t.node)),i=(0,u.computed)(()=>n.labelOf(t.node)),a=(0,u.computed)(()=>n.childrenOf(t.node)),o=(0,u.computed)(()=>a.value.length>0),s=(0,u.computed)(()=>n.isExpanded(r.value)),c=(0,u.computed)(()=>n.checkable.value?n.stateOf(t.node):`unchecked`),l=(0,u.computed)(()=>n.activeId.value===r.value),d=(0,u.computed)(()=>t.node.type===`team`),f=(0,u.computed)(()=>t.node.type!==`company`&&t.node.type!==`team`),p=(0,u.computed)(()=>n.checkable.value?c.value===`unchecked`?`text-foreground hover:bg-slate-50`:`bg-brand-50/60 text-foreground`:l.value?`bg-brand-50/60 text-brand-700`:`text-foreground hover:bg-slate-50`);function m(){}return(t,l)=>{let h=(0,u.resolveComponent)(`TreeNodeRow`,!0);return(0,u.openBlock)(),(0,u.createElementBlock)(`div`,null,[(0,u.createElementVNode)(`div`,{class:(0,u.normalizeClass)([`flex w-full cursor-pointer items-center gap-1.5 py-1 pr-3 text-sm transition-colors`,p.value]),style:(0,u.normalizeStyle)({paddingLeft:`${e.depth*12+12}px`}),onClick:l[2]||=t=>(0,u.unref)(n).onRowClick(e.node)},[o.value?((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{key:0,type:`button`,class:`inline-flex size-4 shrink-0 items-center justify-center text-slate-400 hover:text-slate-700`,onClick:l[0]||=(0,u.withModifiers)(e=>(0,u.unref)(n).toggleExpand(r.value),[`stop`])},[((0,u.openBlock)(),(0,u.createElementBlock)(`svg`,{viewBox:`0 0 24 24`,class:(0,u.normalizeClass)([`size-3 transition-transform duration-200`,{"-rotate-90":!s.value}]),fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[...l[3]||=[(0,u.createElementVNode)(`path`,{d:`m6 9 6 6 6-6`},null,-1)]],2))])):((0,u.openBlock)(),(0,u.createElementBlock)(`span`,kt)),(0,u.unref)(n).checkable.value?((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(ct),{key:2,"model-value":c.value===`checked`,indeterminate:c.value===`indeterminate`,class:`shrink-0`,onClick:(0,u.withModifiers)(m,[`stop`]),"onUpdate:modelValue":l[1]||=t=>(0,u.unref)(n).onRowClick(e.node)},null,8,[`model-value`,`indeterminate`])):(0,u.createCommentVNode)(``,!0),(0,u.unref)(n).showIcon.value?((0,u.openBlock)(),(0,u.createElementBlock)(`svg`,At,[d.value?((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:0},[l[4]||=(0,u.createElementVNode)(`path`,{d:`M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2`},null,-1),l[5]||=(0,u.createElementVNode)(`circle`,{cx:`9`,cy:`7`,r:`4`},null,-1),l[6]||=(0,u.createElementVNode)(`path`,{d:`M23 21v-2a4 4 0 0 0-3-3.87`},null,-1),l[7]||=(0,u.createElementVNode)(`path`,{d:`M16 3.13a4 4 0 0 1 0 7.75`},null,-1)],64)):((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:1},[l[8]||=(0,u.createElementVNode)(`path`,{d:`M3 21h18`},null,-1),l[9]||=(0,u.createElementVNode)(`path`,{d:`M5 21V10l7-5 7 5v11`},null,-1),f.value?((0,u.openBlock)(),(0,u.createElementBlock)(`path`,jt)):(0,u.createCommentVNode)(``,!0)],64))])):(0,u.createCommentVNode)(``,!0),(0,u.createElementVNode)(`span`,Mt,[(0,u.renderSlot)(t.$slots,`label`,{node:e.node},()=>[(0,u.createTextVNode)((0,u.toDisplayString)(i.value),1)])])],6),o.value&&s.value?((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,{key:0},(0,u.renderList)(a.value,r=>((0,u.openBlock)(),(0,u.createBlock)(h,{key:(0,u.unref)(n).keyOf(r),node:r,depth:e.depth+1},(0,u.createSlots)({_:2},[(0,u.renderList)(t.$slots,(e,n)=>({name:n,fn:(0,u.withCtx)(e=>[(0,u.renderSlot)(t.$slots,n,(0,u.mergeProps)({ref_for:!0},e??{}))])}))]),1032,[`node`,`depth`]))),128)):(0,u.createCommentVNode)(``,!0)])}}});function Q(e,t=`id`){return String(e[t]??``)}function Pt(e,t=`children`){return e[t]??[]}function Ft(e,t=`children`){let n=[Q(e,`id`)],r=[e];for(;r.length;){let e=r.pop();for(let i of Pt(e,t))n.push(Q(i)),r.push(i)}return n}function It(e,t=`children`){let n=[],r=e=>{e.forEach(e=>{n.push(Q(e)),r(Pt(e,t))})};return r(e),n}function Lt(e,t,n=`children`){for(let r of e){if(Q(r)===t)return r;let e=Lt(Pt(r,n),t,n);if(e)return e}return null}function Rt(e,t,n=`children`){let r=new Set(t.map(String)),i=new Set,a=(e,t)=>{for(let o of e){let e=t||r.has(Q(o));e&&i.add(Q(o)),a(Pt(o,n),e)}};return a(e,!1),i}function zt(e,t,n=`children`){let r=Pt(e,n);if(r.length===0)return t.has(Q(e))?`checked`:`unchecked`;let i=!1,a=!0;for(let e of r){let r=zt(e,t,n);r!==`unchecked`&&(i=!0),r!==`checked`&&(a=!1)}return a?`checked`:i?`indeterminate`:`unchecked`}function Bt(e,t,n){let r=e=>{for(let i of e){r(Pt(i,n));let e=Q(i);zt(i,t,n)===`checked`?t.add(e):t.delete(e)}};r(e)}function Vt(e,t,n=`children`){let r=[],i=(e,a)=>{for(let o of e){let e=Q(o),s=t.has(e);s&&!a&&r.push(e),i(Pt(o,n),s)}};return i(e,!1),r}function Ht(e,t,n,r,i=`children`){let a=Rt(e,t,i),o=Lt(e,n,i);if(!o)return t;let s=Ft(o,i);return r?s.forEach(e=>a.add(e)):s.forEach(e=>a.delete(e)),Bt(e,a,i),Vt(e,a,i)}var Ut={class:`min-w-0`},Wt={key:0,class:`py-6`},Gt=(0,u.defineComponent)({__name:`TreeNode`,props:{data:{},checkable:{type:Boolean,default:!1},checkedKeys:{default:()=>[]},activeId:{default:null},expandedKeys:{default:void 0},defaultExpandAll:{type:Boolean,default:!0},nodeKey:{default:`id`},labelKey:{default:`name`},childrenKey:{default:`children`},showIcon:{type:Boolean,default:!0}},emits:[`update:checkedKeys`,`update:activeId`,`update:expandedKeys`,`node-click`,`check`],setup(e,{emit:t}){let n=e,r=t,i=(0,u.ref)(new Set),a=(0,u.computed)(()=>n.expandedKeys!==void 0);function o(){a.value||n.defaultExpandAll&&(i.value=new Set(It(n.data,n.childrenKey)))}(0,u.watch)(()=>n.data,o,{immediate:!0});function s(e){return a.value?(n.expandedKeys??[]).includes(e):i.value.has(e)}function c(e){if(a.value){let t=new Set(n.expandedKeys??[]);t.has(e)?t.delete(e):t.add(e),r(`update:expandedKeys`,Array.from(t))}else{let t=new Set(i.value);t.has(e)?t.delete(e):t.add(e),i.value=t}}let l=(0,u.computed)(()=>Rt(n.data,n.checkedKeys??[],n.childrenKey));function d(e){return zt(e,l.value,n.childrenKey)}function f(e){r(`node-click`,e),n.checkable?p(e):r(`update:activeId`,Q(e,n.nodeKey))}function p(e){let t=Q(e,n.nodeKey),i=d(e)!==`checked`,a=Ht(n.data,n.checkedKeys??[],t,i,n.childrenKey);r(`update:checkedKeys`,a);let o=a.map(e=>Lt(n.data,e,n.childrenKey)).filter(e=>!!e);r(`check`,{node:e,checked:i,checkedKeys:a,checkedNodes:o})}return(0,u.provide)(Ot,{checkable:(0,u.computed)(()=>n.checkable),showIcon:(0,u.computed)(()=>n.showIcon),activeId:(0,u.computed)(()=>n.activeId),keyOf:e=>Q(e,n.nodeKey),labelOf:e=>String(e[n.labelKey]??``),childrenOf:e=>Pt(e,n.childrenKey),isExpanded:s,toggleExpand:c,stateOf:d,onRowClick:f}),(t,n)=>((0,u.openBlock)(),(0,u.createElementBlock)(`div`,Ut,[e.data.length===0?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,Wt,[(0,u.createVNode)((0,u.unref)(Z))])):((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,{key:1},(0,u.renderList)(e.data,t=>((0,u.openBlock)(),(0,u.createBlock)(Nt,{key:(0,u.unref)(Q)(t,e.nodeKey),node:t,depth:0},null,8,[`node`]))),128))]))}}),Kt=[`data-open`],qt=[`disabled`,`aria-label`],Jt={key:0,class:`pointer-events-none fixed inset-0 z-[9999] bg-transparent`},Yt=[`data-state`,`data-placement`],Xt={class:`border-b border-slate-100 p-2`},Zt={class:`flex h-[240px]`},Qt=[`onClick`],$t={key:0,class:`size-2 rounded-full bg-brand-600`},en={class:`min-w-0 flex-1`},tn={class:`block text-sm font-medium leading-5 text-foreground truncate`},nn={key:0,class:`block text-xs leading-4 text-muted-foreground truncate`},rn={key:0,class:`h-full min-w-0 flex-1`},an={class:`px-3 pb-1 pt-2 text-xs text-muted-foreground`},on=[`onClick`],sn={class:`flex size-5 shrink-0 items-center justify-center rounded-full bg-brand-100 text-[10px] font-medium text-brand-700`},cn={class:`truncate text-sm text-foreground`},ln={class:`ml-auto flex shrink-0 items-center gap-1`},un=[`onClick`],dn=[`onClick`],fn={class:`px-3 pb-1 pt-2 text-xs text-muted-foreground`},pn=[`onClick`],mn={class:`flex size-5 shrink-0 items-center justify-center rounded-full bg-violet-100 text-[10px] font-medium text-violet-700`},hn={class:`truncate text-sm text-foreground`},gn={key:2,class:`flex h-[200px] items-center justify-center text-sm text-muted-foreground`},_n={key:0,class:`flex h-full items-center justify-center py-6`},vn={key:1,class:`flex h-full`},yn={class:`w-[210px] shrink-0 border-r border-slate-100`},bn={class:`min-w-0 flex-1`},xn={key:0,class:`flex h-full items-center justify-center py-6`},Sn=[`onClick`],Cn={key:0,viewBox:`0 0 24 24`,class:`size-3 text-white`,fill:`none`,stroke:`currentColor`,"stroke-width":`3`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},wn={class:`truncate`},Tn={key:2,class:`flex h-full flex-col gap-4 p-4`},En={class:`text-sm leading-5 text-foreground`},Dn={class:`text-xs leading-4 text-muted-foreground`},On={key:0,class:`flex h-full items-center justify-center py-6`},kn=[`onClick`],An={key:0,viewBox:`0 0 24 24`,class:`size-3 text-white`,fill:`none`,stroke:`currentColor`,"stroke-width":`3`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},jn={class:`flex-1 truncate`},Mn={key:0,class:`flex items-center gap-2 border-t border-slate-100 px-3 py-2`},Nn={class:`mr-auto flex min-w-0 flex-1 items-center gap-1.5`},Pn=[`onClick`],Fn={key:1,class:`text-xs text-muted-foreground`},In=[`onClick`],Ln={key:0,class:`shrink-0 rounded-full bg-slate-100 px-2 py-0.5 text-xs text-slate-500`},Rn=Xe((0,u.defineComponent)({__name:`NodeConfigAssigneePicker`,props:{items:{default:()=>[]},roles:{default:()=>[]},orgTree:{default:()=>[]},people:{default:()=>[]},placeholder:{default:`搜索审批人员名字、角色名称`},disabled:{type:Boolean,default:!1},modelValue:{default:null},leaderLevel:{default:null},selectedRoleIds:{default:()=>[]},selectedPeople:{default:()=>[]}},emits:[`update:modelValue`,`update:leaderLevel`,`update:selectedRoleIds`,`update:selectedPeople`,`confirm`],setup(e,{emit:t}){let n=e,r=t,i=(0,u.ref)(null),a=(0,u.ref)(null),o=(0,u.ref)(!1),s=(0,u.ref)(`closed`),c;function l(){c&&=(clearTimeout(c),void 0),o.value=!0,s.value=`closed`,(0,u.nextTick)(m),requestAnimationFrame(()=>{s.value=`open`})}function f(){s.value=`closed`,c=window.setTimeout(()=>{o.value=!1,c=void 0},210)}let p=(0,u.ref)(null);function m(){let e=i.value;if(!e)return;let t=e.getBoundingClientRect();p.value={left:t.left,top:t.top,right:t.right,bottom:t.bottom,width:t.width,height:t.height}}let{height:h}=(0,d.useElementSize)(a),{width:g,height:_}=(0,d.useWindowSize)(),v=(0,u.ref)(``),y=(0,u.ref)(null),b=(0,u.ref)(null),x=(0,u.ref)(!1),S=(0,u.ref)([]),C=(0,u.ref)([]),w=(0,u.ref)(null),T=(0,u.ref)(!1),E=(0,u.ref)(null),D=(0,u.ref)(null),ee=(0,u.ref)(null),O=(0,u.ref)(null),k=(0,u.ref)(null);function A(){let e=w.value;T.value=e?e.scrollWidth>e.clientWidth+1:!1}let j=(0,u.computed)(()=>n.items.find(e=>String(e.value)===String(y.value))??null),M=(0,u.computed)(()=>{let e=v.value.trim().toLowerCase();return e?{people:n.people.filter(t=>t.name.toLowerCase().includes(e)),roles:n.roles.filter(t=>t.name.toLowerCase().includes(e))}:null}),N=(0,u.computed)(()=>j.value!==null||M.value!==null),P=(0,u.computed)(()=>n.items.find(e=>String(e.value)===String(n.modelValue))??null),F=(0,u.computed)(()=>N.value?560:210),I=(0,u.computed)(()=>{let e=Number(j.value?.value??0);return e===3?S.value.length:[1,4].includes(e)?C.value.length:0}),L=(0,u.ref)(!1);function R(){if(!j.value)return!1;let e=Number(j.value.value);return e===3?S.value.length>0:![1,4].includes(e)||C.value.length>0}(0,u.watch)([I,F,N],()=>{(0,u.nextTick)(A)});let z=(0,u.computed)(()=>{let e=F.value,t=h.value||300,n=p.value;if(!n)return{left:`0px`,top:`0px`,arrowLeft:`20px`,placement:`bottom`};let r=n.left;r+e+8>g.value&&(r=g.value-e-8),r=Math.max(8,r);let i=n.bottom+6,a=`bottom`;i+t+8>_.value&&(i=n.top-t-6,a=`top`),i=Math.max(8,i);let o=Math.max(12,Math.min(n.left+n.width/2-r,e-12));return{left:`${Math.round(r)}px`,top:`${Math.round(i)}px`,arrowLeft:`${o}px`,placement:a}});(0,u.watch)(F,()=>{o.value&&(0,u.nextTick)(m)});let B=(0,u.ref)(new Set),V=(0,u.ref)(null);function H(e){e.forEach(e=>{B.value.add(e.id),e.children?.length&&H(e.children)})}(0,u.watch)(()=>n.orgTree,e=>{B.value=new Set,H(e),V.value=e[0]?.id??null},{immediate:!0});function te(e,t){let n=[...e];for(;n.length;){let e=n.pop();if(e.id===t){let t=new Set,n=e=>{e.forEach(e=>{e.memberIds?.forEach(e=>t.add(e)),e.children?.length&&n(e.children)})};return n([e]),t}e.children?.length&&n.push(...e.children)}return null}let ne=(0,u.computed)(()=>{if(!V.value)return n.people;let e=te(n.orgTree,V.value);return e?n.people.filter(t=>e.has(t.id)):n.people});function re(e,t,n=[]){for(let r of e){let e=[...n,r.id];if(r.memberIds?.includes(t))return e;if(r.children?.length){let n=re(r.children,t,e);if(n)return n}}return null}function ie(e){let t=re(n.orgTree,e);if(!t)return;let r=new Set(B.value);t.forEach(e=>r.add(e)),B.value=r,V.value=t[t.length-1]}function U(e,t){let r=e===2||e===6;if(!t){b.value=r?1:null,x.value=e===6,S.value=[],C.value=[];return}b.value=r?n.leaderLevel??1:null,x.value=e===6,S.value=e===3?[...n.selectedRoleIds]:[],C.value=[1,4].includes(e)?n.selectedPeople.map(e=>({...e})):[]}function W(){if(!n.disabled){if(o.value){f(),y.value=null,v.value=``;return}y.value=n.modelValue??null,U(Number(y.value??0),!0),v.value=``,L.value=!1,l()}}function ae(e){let t=String(y.value)===String(e.value);U(Number(e.value),t),y.value=e.value,v.value=``,L.value=!1}function G(e,t){let r=n.items.find(t=>Number(t.value)===e);r&&(String(y.value)!==String(r.value)&&(y.value=r.value,U(e,!1)),e===3?S.value.includes(t.id)||S.value.push(t.id):(C.value.some(e=>e.id===t.id)||C.value.push({...t}),ie(t.id)),v.value=``)}function K(){if(!j.value)return;if(!R()){L.value=!0;return}let e=[2,6].includes(Number(j.value.value))?x.value?6:2:j.value.value;r(`update:modelValue`,e),r(`update:leaderLevel`,b.value),r(`update:selectedRoleIds`,[...S.value]),r(`update:selectedPeople`,C.value.map(e=>({...e}))),r(`confirm`,{type:e,item:j.value,leaderLevel:b.value,roleIds:[...S.value],people:C.value.map(e=>({...e}))}),f(),y.value=null,v.value=``,L.value=!1}function oe(e){return C.value.some(t=>t.id===e)}function q(e){let t=C.value.findIndex(t=>t.id===e.id);t>=0?C.value.splice(t,1):C.value.push({...e})}function se(e){C.value=C.value.filter(t=>t.id!==e)}function ce(e){return S.value.includes(e)}function le(e){let t=S.value.indexOf(e);t>=0?S.value.splice(t,1):S.value.push(e)}function ue(e){S.value=S.value.filter(t=>t!==e)}(0,d.onClickOutside)(i,()=>{o.value&&(f(),y.value=null)},{ignore:[a]}),(0,d.useEventListener)(`keydown`,e=>{o.value&&e.key===`Escape`&&(f(),y.value=null,v.value=``)}),(0,d.useEventListener)(`resize`,()=>{o.value&&m()}),(0,d.useEventListener)(`scroll`,()=>{o.value&&m()},{capture:!0}),(0,d.useResizeObserver)(w,A);function J(e){if(!o.value)return;let t=e.target;t instanceof Element&&(a.value?.contains(t)||i.value?.contains(t)||(f(),y.value=null))}return(0,u.watch)(o,e=>{e?document.addEventListener(`pointerdown`,J,!0):document.removeEventListener(`pointerdown`,J,!0)}),(0,u.onBeforeUnmount)(()=>{c&&=(clearTimeout(c),void 0),document.removeEventListener(`pointerdown`,J,!0)}),(t,n)=>((0,u.openBlock)(),(0,u.createElementBlock)(`div`,{class:`relative inline-flex`,"data-open":o.value},[(0,u.createElementVNode)(`button`,{ref_key:`triggerBtnRef`,ref:i,type:`button`,disabled:e.disabled,class:(0,u.normalizeClass)([`inline-flex h-9 min-w-9 cursor-pointer items-center justify-center overflow-hidden rounded-full border px-2.5 transition-all duration-200 disabled:cursor-not-allowed disabled:opacity-50`,P.value?[`border-brand-100 bg-brand-50 text-brand-700 hover:border-brand-200 hover:bg-brand-100`,{"border-brand-300 bg-brand-100":o.value}]:[`border-slate-200 bg-white text-slate-500 hover:border-dashed hover:border-brand-500 hover:bg-brand-50 hover:text-brand-600`,{"border-dashed border-brand-500 bg-brand-50 text-brand-600":o.value}]]),"aria-label":P.value?`已选择 ${P.value.label},点击修改`:`选择审批类型`,onClick:W},[((0,u.openBlock)(),(0,u.createElementBlock)(`svg`,{viewBox:`0 0 24 24`,class:(0,u.normalizeClass)([`h-4 shrink-0 overflow-hidden transition-all duration-200`,P.value?`w-0 opacity-0`:`w-4 opacity-100`]),fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[...n[6]||=[(0,u.createElementVNode)(`path`,{d:`M12 5v14`},null,-1),(0,u.createElementVNode)(`path`,{d:`M5 12h14`},null,-1)]],2)),(0,u.createElementVNode)(`span`,{class:(0,u.normalizeClass)([`overflow-hidden whitespace-nowrap text-[13px] leading-none transition-all duration-200`,P.value?`max-w-[140px] opacity-100`:`max-w-0 opacity-0`])},(0,u.toDisplayString)(P.value?.label),3),((0,u.openBlock)(),(0,u.createElementBlock)(`svg`,{viewBox:`0 0 24 24`,class:(0,u.normalizeClass)([`shrink-0 overflow-hidden transition-all duration-200`,[P.value?`ml-1.5 w-3.5 opacity-100`:`ml-0 w-0 opacity-0`,{"rotate-210":o.value}]]),fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[...n[7]||=[(0,u.createElementVNode)(`path`,{d:`m6 9 6 6 6-6`},null,-1)]],2))],10,qt),((0,u.openBlock)(),(0,u.createBlock)(u.Teleport,{to:`body`},[o.value?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,Jt,[(0,u.createElementVNode)(`div`,{ref_key:`dropdownRef`,ref:a,class:(0,u.normalizeClass)([`picker-panel pointer-events-auto absolute rounded-lg border border-slate-200 bg-white shadow-[0_20px_50px_rgba(15,23,42,0.16)]`,F.value===560?`w-[560px]`:`w-[210px]`]),"data-state":s.value,"data-placement":z.value.placement,style:(0,u.normalizeStyle)({left:z.value.left,top:z.value.top,"--arrow-left":z.value.arrowLeft})},[n[21]||=(0,u.createElementVNode)(`span`,{class:`picker-arrow`,"aria-hidden":`true`},null,-1),(0,u.createElementVNode)(`div`,Xt,[(0,u.createVNode)((0,u.unref)(xt),{modelValue:v.value,"onUpdate:modelValue":n[0]||=e=>v.value=e,placeholder:e.placeholder,onKeydown:n[1]||=(0,u.withKeys)(e=>s.value=`closed`,[`esc`])},{prefix:(0,u.withCtx)(()=>[...n[8]||=[(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`size-4 text-slate-400`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,u.createElementVNode)(`circle`,{cx:`11`,cy:`11`,r:`8`}),(0,u.createElementVNode)(`path`,{d:`m21 21-4.3-4.3`})],-1)]]),_:1},8,[`modelValue`,`placeholder`])]),(0,u.createElementVNode)(`div`,Zt,[(0,u.createElementVNode)(`div`,{class:(0,u.normalizeClass)(N.value?`w-[210px] shrink-0 border-r border-slate-100`:`w-full`)},[(0,u.createVNode)((0,u.unref)(X),{"target-el":E.value,class:`h-full`},{default:(0,u.withCtx)(()=>[(0,u.createElementVNode)(`div`,{ref_key:`typeListScrollRef`,ref:E,class:`scrollbar-hide h-full overflow-auto py-1`},[((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(e.items,e=>((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{key:String(e.value),type:`button`,class:(0,u.normalizeClass)([`group flex w-full cursor-pointer items-center gap-2 px-2.5 py-2 text-left transition-colors hover:bg-slate-50`,String(y.value)===String(e.value)?`bg-brand-50/60`:``]),onClick:t=>ae(e)},[(0,u.createElementVNode)(`span`,{class:(0,u.normalizeClass)([`inline-flex size-4 shrink-0 items-center justify-center rounded-full border border-slate-300 transition-colors`,{"border-brand-600":String(y.value)===String(e.value)}])},[String(y.value)===String(e.value)?((0,u.openBlock)(),(0,u.createElementBlock)(`span`,$t)):(0,u.createCommentVNode)(``,!0)],2),(0,u.createElementVNode)(`span`,en,[(0,u.createElementVNode)(`span`,tn,(0,u.toDisplayString)(e.label),1),e.description?((0,u.openBlock)(),(0,u.createElementBlock)(`span`,nn,(0,u.toDisplayString)(e.description),1)):(0,u.createCommentVNode)(``,!0)]),n[9]||=(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`size-4 shrink-0 text-slate-300 transition-colors group-hover:text-brand-500`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,u.createElementVNode)(`path`,{d:`m9 18 6-6-6-6`})],-1)],10,Qt))),128))],512)]),_:1},8,[`target-el`])],2),N.value?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,rn,[M.value?((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(X),{key:0,"target-el":D.value,class:`h-full`},{default:(0,u.withCtx)(()=>[(0,u.createElementVNode)(`div`,{ref_key:`searchScrollRef`,ref:D,class:`scrollbar-hide h-full overflow-auto py-1`},[M.value.people.length>0?((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:0},[(0,u.createElementVNode)(`div`,an,`人员(`+(0,u.toDisplayString)(M.value.people.length)+`)`,1),((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(M.value.people,e=>((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{key:`search-p-${e.id}`,type:`button`,class:`flex w-full cursor-pointer items-center gap-2 px-3 py-2 text-left transition-colors hover:bg-brand-50`,onClick:t=>G(1,e)},[(0,u.createElementVNode)(`span`,sn,(0,u.toDisplayString)(e.name.slice(0,1)),1),(0,u.createElementVNode)(`span`,cn,(0,u.toDisplayString)(e.name),1),(0,u.createElementVNode)(`span`,ln,[(0,u.createElementVNode)(`span`,{class:`cursor-pointer rounded border border-brand-200 bg-white px-1.5 py-0.5 text-[11px] leading-none text-brand-600 transition hover:bg-brand-50`,title:`加入指定成员`,onClick:(0,u.withModifiers)(t=>G(1,e),[`stop`])},`指定`,8,un),(0,u.createElementVNode)(`span`,{class:`cursor-pointer rounded border border-slate-200 bg-white px-1.5 py-0.5 text-[11px] leading-none text-slate-500 transition hover:bg-slate-50`,title:`加入发起人自选`,onClick:(0,u.withModifiers)(t=>G(4,e),[`stop`])},`自选`,8,dn)])],8,on))),128))],64)):(0,u.createCommentVNode)(``,!0),M.value.roles.length>0?((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:1},[(0,u.createElementVNode)(`div`,fn,`角色(`+(0,u.toDisplayString)(M.value.roles.length)+`)`,1),((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(M.value.roles,e=>((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{key:`search-r-${e.id}`,type:`button`,class:`flex w-full cursor-pointer items-center gap-2 px-3 py-2 text-left transition-colors hover:bg-brand-50`,onClick:t=>G(3,{id:e.id,name:e.name})},[(0,u.createElementVNode)(`span`,mn,(0,u.toDisplayString)(e.name.slice(0,1)),1),(0,u.createElementVNode)(`span`,hn,(0,u.toDisplayString)(e.name),1),n[10]||=(0,u.createElementVNode)(`span`,{class:`ml-auto shrink-0 text-xs text-muted-foreground`},`角色`,-1)],8,pn))),128))],64)):(0,u.createCommentVNode)(``,!0),M.value.people.length===0&&M.value.roles.length===0?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,gn,` 未找到匹配的人员或角色 `)):(0,u.createCommentVNode)(``,!0)],512)]),_:1},8,[`target-el`])):j.value&&[1,4].includes(Number(j.value.value))?((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:1},[e.orgTree.length===0?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,_n,[(0,u.createVNode)((0,u.unref)(Z))])):((0,u.openBlock)(),(0,u.createElementBlock)(`div`,vn,[(0,u.createElementVNode)(`div`,yn,[(0,u.createVNode)((0,u.unref)(X),{"target-el":ee.value,class:`h-full`},{default:(0,u.withCtx)(()=>[(0,u.createElementVNode)(`div`,{ref_key:`orgScrollRef`,ref:ee,class:`scrollbar-hide h-full overflow-auto py-1`},[(0,u.createVNode)((0,u.unref)(Gt),{data:e.orgTree,"active-id":V.value,"expanded-keys":Array.from(B.value),"onUpdate:activeId":n[2]||=e=>V.value=e,"onUpdate:expandedKeys":n[3]||=e=>B.value=new Set(e)},null,8,[`data`,`active-id`,`expanded-keys`])],512)]),_:1},8,[`target-el`])]),(0,u.createElementVNode)(`div`,bn,[ne.value.length===0?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,xn,[(0,u.createVNode)((0,u.unref)(Z))])):((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(X),{key:1,"target-el":O.value,class:`h-full`},{default:(0,u.withCtx)(()=>[(0,u.createElementVNode)(`div`,{ref_key:`peopleScrollRef`,ref:O,class:`scrollbar-hide h-full overflow-auto py-1`},[((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(ne.value,e=>((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{key:e.id,type:`button`,class:(0,u.normalizeClass)([`flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors hover:bg-slate-50`,oe(e.id)?`bg-brand-50/60`:`text-foreground`]),onClick:t=>q(e)},[(0,u.createElementVNode)(`span`,{class:(0,u.normalizeClass)([`inline-flex size-4 shrink-0 items-center justify-center rounded border transition-colors`,oe(e.id)?`border-brand-600 bg-brand-600`:`border-slate-300`])},[oe(e.id)?((0,u.openBlock)(),(0,u.createElementBlock)(`svg`,Cn,[...n[11]||=[(0,u.createElementVNode)(`path`,{d:`M20 6 9 17l-5-5`},null,-1)]])):(0,u.createCommentVNode)(``,!0)],2),(0,u.createElementVNode)(`span`,wn,(0,u.toDisplayString)(e.name),1)],10,Sn))),128))],512)]),_:1},8,[`target-el`]))])]))],64)):j.value&&[2,6].includes(Number(j.value.value))?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,Tn,[(0,u.createElementVNode)(`p`,En,[n[12]||=(0,u.createTextVNode)(` 发起人的第 `,-1),(0,u.createVNode)((0,u.unref)(pt),{modelValue:b.value,"onUpdate:modelValue":n[4]||=e=>b.value=e,min:1,max:5,class:`mx-1 inline-flex !w-[95px]`},null,8,[`modelValue`]),n[13]||=(0,u.createTextVNode)(` 级主管 `,-1)]),(0,u.createVNode)((0,u.unref)(ct),{modelValue:x.value,"onUpdate:modelValue":n[5]||=e=>x.value=e},{default:(0,u.withCtx)(()=>[...n[14]||=[(0,u.createTextVNode)(`连续多级审批`,-1)]]),_:1},8,[`modelValue`]),(0,u.createElementVNode)(`p`,Dn,(0,u.toDisplayString)(x.value?`将按部门层级连续匹配发起人的第 N 级至 1 级主管依次审批。`:`系统将根据发起人的部门层级,自动查找指定级别的主管作为审批人。`),1)])):j.value&&Number(j.value.value)===3?((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:3},[e.roles.length===0?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,On,[(0,u.createVNode)((0,u.unref)(Z))])):((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(X),{key:1,"target-el":k.value,class:`h-full`},{default:(0,u.withCtx)(()=>[(0,u.createElementVNode)(`div`,{ref_key:`roleScrollRef`,ref:k,class:`scrollbar-hide h-full overflow-auto py-1`},[((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(e.roles,e=>((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{key:e.id,type:`button`,class:(0,u.normalizeClass)([`flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors hover:bg-slate-50`,ce(e.id)?`bg-brand-50/60`:`text-foreground`]),onClick:t=>le(e.id)},[(0,u.createElementVNode)(`span`,{class:(0,u.normalizeClass)([`inline-flex size-4 shrink-0 items-center justify-center rounded border transition-colors`,ce(e.id)?`border-brand-600 bg-brand-600`:`border-slate-300`])},[ce(e.id)?((0,u.openBlock)(),(0,u.createElementBlock)(`svg`,An,[...n[15]||=[(0,u.createElementVNode)(`path`,{d:`M20 6 9 17l-5-5`},null,-1)]])):(0,u.createCommentVNode)(``,!0)],2),(0,u.createElementVNode)(`span`,jn,(0,u.toDisplayString)(e.name),1)],10,kn))),128))],512)]),_:1},8,[`target-el`]))],64)):(0,u.createCommentVNode)(``,!0)])):(0,u.createCommentVNode)(``,!0)]),N.value?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,Mn,[(0,u.createElementVNode)(`div`,Nn,[(0,u.createElementVNode)(`div`,{ref_key:`tagsScrollRef`,ref:w,class:`flex min-w-0 flex-1 items-center gap-1.5 overflow-hidden whitespace-nowrap`},[j.value&&[1,4].includes(Number(j.value.value))?((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:0},[n[17]||=(0,u.createElementVNode)(`span`,{class:`shrink-0 text-xs text-muted-foreground`},`已选择:`,-1),((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(C.value,e=>((0,u.openBlock)(),(0,u.createElementBlock)(`span`,{key:e.id,class:`inline-flex shrink-0 items-center gap-1 rounded-full border border-brand-100 bg-brand-50 px-2 py-0.5 text-xs text-brand-700`},[(0,u.createTextVNode)((0,u.toDisplayString)(e.name)+` `,1),(0,u.createElementVNode)(`button`,{type:`button`,class:`text-brand-400 hover:text-brand-700`,onClick:t=>se(e.id)},[...n[16]||=[(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`size-3`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,u.createElementVNode)(`path`,{d:`M18 6 6 18`}),(0,u.createElementVNode)(`path`,{d:`m6 6 12 12`})],-1)]],8,Pn)]))),128)),C.value.length===0?((0,u.openBlock)(),(0,u.createElementBlock)(`span`,{key:0,class:(0,u.normalizeClass)([`text-xs`,L.value?`text-red-500 font-medium`:`text-muted-foreground`])},`未选择人员`,2)):(0,u.createCommentVNode)(``,!0)],64)):j.value&&[2,6].includes(Number(j.value.value))?((0,u.openBlock)(),(0,u.createElementBlock)(`span`,Fn,` 将自动匹配:发起人第 `+(0,u.toDisplayString)(b.value??1)+` 级主管`+(0,u.toDisplayString)(x.value?`(连续多级)`:``),1)):j.value&&Number(j.value.value)===3?((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:2},[n[19]||=(0,u.createElementVNode)(`span`,{class:`shrink-0 text-xs text-muted-foreground`},`已选择:`,-1),((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(S.value,t=>((0,u.openBlock)(),(0,u.createElementBlock)(`span`,{key:t,class:`inline-flex shrink-0 items-center gap-1 rounded-full border border-brand-100 bg-brand-50 px-2 py-0.5 text-xs text-brand-700`},[(0,u.createTextVNode)((0,u.toDisplayString)(e.roles.find(e=>e.id===t)?.name??t)+` `,1),(0,u.createElementVNode)(`button`,{type:`button`,class:`text-brand-400 hover:text-brand-700`,onClick:e=>ue(t)},[...n[18]||=[(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`size-3`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,u.createElementVNode)(`path`,{d:`M18 6 6 18`}),(0,u.createElementVNode)(`path`,{d:`m6 6 12 12`})],-1)]],8,In)]))),128)),S.value.length===0?((0,u.openBlock)(),(0,u.createElementBlock)(`span`,{key:0,class:(0,u.normalizeClass)([`text-xs`,L.value?`text-red-500 font-medium`:`text-muted-foreground`])},`未选择角色`,2)):(0,u.createCommentVNode)(``,!0)],64)):(0,u.createCommentVNode)(``,!0)],512),I.value>0&&T.value?((0,u.openBlock)(),(0,u.createElementBlock)(`span`,Ln,` 共`+(0,u.toDisplayString)(I.value)+`个 `,1)):(0,u.createCommentVNode)(``,!0)]),(0,u.createElementVNode)(`button`,{type:`button`,class:`inline-flex h-7 shrink-0 cursor-pointer items-center justify-center rounded-md bg-brand-600 px-3 text-[13px] font-medium text-white transition hover:bg-brand-700`,onClick:K},[...n[20]||=[(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`size-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,u.createElementVNode)(`path`,{d:`M20 6 9 17l-5-5`})],-1)]])])):(0,u.createCommentVNode)(``,!0)],14,Yt)])):(0,u.createCommentVNode)(``,!0)]))],8,Kt))}}),[[`__scopeId`,`data-v-c622d5c5`]]),zn={class:`flex size-4 shrink-0 items-center justify-center rounded-full bg-brand-600 text-[10px] font-medium leading-none text-white`},Bn={class:`max-w-[120px] truncate leading-none`},Vn=[`aria-label`,`onClick`],Hn=(0,u.defineComponent)({__name:`NodeConfigAssigneeTags`,props:{items:{},removeLabel:{}},emits:[`remove`],setup(e){let t=e,n=(0,u.ref)(null),r=(0,u.ref)(!1),i=(0,u.ref)(t.items.length),a=(0,u.computed)(()=>r.value?t.items:t.items.slice(0,i.value)),o=(0,u.computed)(()=>t.items.length-a.value.length),s=null;async function c(){if(r.value){i.value=t.items.length;return}i.value=t.items.length,await(0,u.nextTick)();let e=n.value;if(!e)return;let a=t.items.length;for(;a-->0&&e.scrollWidth>e.clientWidth+1&&i.value>0;)--i.value,await(0,u.nextTick)()}return(0,u.watch)(()=>t.items,()=>{r.value?i.value=t.items.length:c()},{deep:!0}),(0,u.watch)(r,e=>{e||c()}),(0,u.onMounted)(()=>{c(),typeof ResizeObserver<`u`&&n.value&&(s=new ResizeObserver(()=>{r.value||c()}),s.observe(n.value))}),(0,u.onBeforeUnmount)(()=>{s?.disconnect(),s=null}),(t,i)=>e.items.length?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,{key:0,ref_key:`containerRef`,ref:n,class:(0,u.normalizeClass)([`flex items-center gap-2.5 overflow-hidden`,r.value?`flex-wrap`:`flex-nowrap`])},[((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(a.value,n=>((0,u.openBlock)(),(0,u.createElementBlock)(`div`,{key:n.id,class:`group inline-flex h-7 shrink-0 items-center gap-1.5 rounded-full border border-brand-100 bg-brand-50 px-2.5 text-[13px] text-slate-700 transition hover:border-brand-200 hover:bg-brand-100`},[(0,u.createElementVNode)(`span`,zn,(0,u.toDisplayString)(n.name.slice(0,1)),1),(0,u.createElementVNode)(`span`,Bn,(0,u.toDisplayString)(n.name),1),(0,u.createElementVNode)(`button`,{type:`button`,class:`ml-0.5 inline-flex size-4 shrink-0 cursor-pointer items-center justify-center rounded-full text-slate-400 transition group-hover:text-slate-500 hover:bg-white/80 hover:text-red-500`,"aria-label":e.removeLabel??`删除人员`,onClick:(0,u.withModifiers)(e=>t.$emit(`remove`,n.id),[`stop`])},[...i[2]||=[(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`h-2.5 w-2.5`,fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`},[(0,u.createElementVNode)(`path`,{d:`M18 6 6 18`}),(0,u.createElementVNode)(`path`,{d:`m6 6 12 12`})],-1)]],8,Vn)]))),128)),!r.value&&o.value>0?((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{key:0,type:`button`,class:`shrink-0 cursor-pointer text-[13px] leading-none text-slate-500 transition hover:text-slate-700`,onClick:i[0]||=e=>r.value=!0},` +`+(0,u.toDisplayString)(o.value)+` 更多 `,1)):r.value&&e.items.length>1?((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{key:1,type:`button`,class:`shrink-0 cursor-pointer text-[13px] leading-none text-slate-500 transition hover:text-slate-700`,onClick:i[1]||=e=>r.value=!1},` 收起 `)):(0,u.createCommentVNode)(``,!0)],2)):(0,u.createCommentVNode)(``,!0)}}),Un=[`aria-pressed`],Wn={key:0,class:`size-2 rounded-full bg-brand-500`},Gn={class:`min-w-0 flex flex-1 flex-col justify-center`},Kn={class:`block font-medium leading-5`},qn={key:0,class:`mt-0.5 block text-xs leading-5 text-slate-400`},Jn=(0,u.defineComponent)({__name:`NodeConfigRadioCard`,props:{active:{type:Boolean},title:{},description:{default:``}},emits:[`click`],setup(e){return(t,n)=>((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{type:`button`,class:(0,u.normalizeClass)([`flex min-h-[46px] w-full cursor-pointer items-center gap-3 rounded-xl border px-2 py-1 text-left text-sm transition`,e.active?`border-brand-500 bg-brand-50/70 text-brand-700`:`border-slate-200 bg-white text-slate-600 hover:border-slate-300 hover:bg-slate-50`]),"aria-pressed":e.active,onClick:n[0]||=e=>t.$emit(`click`,e)},[(0,u.createElementVNode)(`span`,{class:(0,u.normalizeClass)([`flex size-4 shrink-0 items-center justify-center rounded-full border bg-white`,e.active?`border-brand-500`:`border-slate-300`]),"aria-hidden":`true`},[e.active?((0,u.openBlock)(),(0,u.createElementBlock)(`span`,Wn)):(0,u.createCommentVNode)(``,!0)],2),(0,u.createElementVNode)(`span`,Gn,[(0,u.createElementVNode)(`span`,Kn,(0,u.toDisplayString)(e.title),1),e.description?((0,u.openBlock)(),(0,u.createElementBlock)(`span`,qn,(0,u.toDisplayString)(e.description),1)):(0,u.createCommentVNode)(``,!0)])],10,Un))}}),Yn={class:`flex items-center gap-2 text-sm font-semibold text-slate-900`},Xn=(0,u.defineComponent)({__name:`NodeConfigSectionTitle`,props:{title:{},sticky:{type:Boolean,default:!0}},setup(e){return(t,n)=>((0,u.openBlock)(),(0,u.createElementBlock)(`div`,{class:(0,u.normalizeClass)(e.sticky?`sticky top-0 z-20 -mx-3 bg-white/95 px-3 backdrop-blur supports-[backdrop-filter]:bg-white/85`:``)},[(0,u.createElementVNode)(`h3`,Yn,[n[0]||=(0,u.createElementVNode)(`span`,{class:`h-4 w-1 rounded-full bg-brand-500`,"aria-hidden":`true`},null,-1),(0,u.createElementVNode)(`span`,null,(0,u.toDisplayString)(e.title),1)])],2))}}),Zn={class:`flex flex-col gap-5`},Qn={class:`space-y-3`},$n={class:`flex items-center gap-2`},er={class:`text-sm leading-5 text-slate-500`},tr={class:`space-y-3`},nr={class:`grid grid-cols-3 gap-x-4 gap-y-3`},rr={class:`space-y-3`},ir={class:`grid grid-cols-3 gap-x-4 gap-y-3`},ar={class:`space-y-3`},or={class:`grid grid-cols-4 gap-x-4 gap-y-3`},sr={class:`space-y-3`},cr={class:`flex items-center gap-2`},lr={class:`ml-auto`},ur={class:`flex flex-col gap-1.5`},dr={class:`flex items-center gap-2`},fr={class:`flex flex-col gap-1.5`},pr={class:`flex items-center gap-2`},mr={class:`space-y-3`},hr={class:`flex items-center gap-2`},gr={class:`ml-auto`},_r={key:0,class:`flex flex-wrap items-center gap-x-5 gap-y-2`},vr={class:`flex items-center gap-2`},yr={class:`flex items-center gap-4`},br={class:`space-y-3`},xr={class:`grid grid-cols-2 gap-x-4 gap-y-2`},Sr=(0,u.defineComponent)({__name:`ApprovalNodeConfig`,props:{payload:{},context:{}},setup(e,{expose:t}){let n=e,r=(0,u.ref)(null),i=(0,u.ref)(null),a=(0,u.ref)([]),o=(0,u.ref)(null),s=(0,u.ref)(null),c=(0,u.ref)(null),l=(0,u.ref)(!1),d=(0,u.ref)(!1),f=(0,u.ref)(!1),p=(0,u.ref)(!1),m=(0,u.ref)(!1),h=(0,u.ref)(24),g=(0,u.ref)(2),_=(0,u.ref)(!1),v=(0,u.ref)(24),y=(0,u.ref)(`pass`),b=(0,u.ref)(null),x=(0,u.computed)(()=>[1,3,4].includes(Number(r.value))),S=(0,u.computed)(()=>(n.context.approvalPersonTypes??[]).map(e=>Number(e.value)===2||Number(e.value)===6?{...e,value:Number(r.value)===6?6:2}:e)),C=(0,u.computed)(()=>{let e=Number(r.value);return e===1?`提示:已选择指定成员,审批时由下方所选成员进行审批。`:e===2?`提示:已选择部门领导,将自动匹配发起人的第 ${i.value??1} 级主管作为审批人。`:e===6?`提示:已选择部门领导(连续多级审批),将按部门层级连续匹配发起人的第 ${i.value??1} 级至 1 级主管依次审批。`:e===3?`提示:已选择角色,审批时由拥有所选角色的用户处理。`:e===4?`提示:已选择发起人自选,审批时由发起人自行选择审批人;若发起人未选择,则由下方人员默认审批。`:`提示:可选择指定成员、部门领导、角色匹配,或由发起人自选审批人。`});function w(e){return typeof e==`number`?e:typeof e==`string`&&e.trim()!==``&&Number.isFinite(Number(e))?Number(e):e}function T(e,t){let n=w(t);return typeof n==`string`?{person:{assignee:1,leader:2,role:3,initiator:4},mode:{sequence:1,counterSign:2,orSign:3},same:{self:0,skip:1,leader:2}}[e][n]??n:n}function E(e,t,n){return String(T(e,t))===String(T(e,n))}function D(e){return e===1||e===2||e===3||e===4?e:null}function ee(){r.value=T(`person`,n.payload.setType??n.payload.selectMode??null),o.value=T(`mode`,n.payload.examineMode??null),s.value=T(`same`,n.payload.approveSelf??null),c.value=D(n.payload.rejectStrategy),l.value=n.payload.allowTransfer===!0,d.value=n.payload.allowAppendNode===!0,f.value=n.payload.allowRollback===!0,p.value=n.payload.allowCc===!0,m.value=n.payload.timeoutEnabled===!0,h.value=typeof n.payload.timeoutHours==`number`?n.payload.timeoutHours:24,g.value=typeof n.payload.remindHours==`number`?n.payload.remindHours:2,_.value=n.payload.autoApproveEnabled===!0,v.value=typeof n.payload.autoApproveHours==`number`?n.payload.autoApproveHours:24,y.value=n.payload.autoApproveAction===`reject`?`reject`:`pass`;let e=Number(r.value);if(e===2||e===6)i.value=typeof n.payload.examineLevel==`number`?n.payload.examineLevel:null,a.value=[];else if(e===1||e===3||e===4){i.value=null;let t=Array.isArray(n.payload.nodeAssigneeList)?n.payload.nodeAssigneeList.map(e=>({...e})):[];t.length===0&&e===3&&Array.isArray(n.payload.assignees)&&(t=n.payload.assignees.map(e=>{let t=n.context.roles.find(t=>t.id===e);return t?{id:t.id,name:t.name}:{id:String(e),name:String(e)}})),a.value=t}else i.value=null,a.value=[]}(0,u.watch)(()=>n.payload,()=>ee(),{immediate:!0});function O(e){r.value=e.type;let t=Number(e.type);t===2||t===6?(i.value=e.leaderLevel??1,a.value=[]):t===3?(i.value=null,a.value=(e.roleIds??[]).map(e=>{let t=n.context.roles.find(t=>t.id===e);return{id:t?.id??String(e),name:t?.name??String(e)}})):(i.value=null,a.value=(e.people??[]).map(e=>({...e})))}function k(e,t){let n=T(e,t);e===`person`&&(r.value=n),e===`mode`&&(o.value=n),e===`same`&&(s.value=n)}function A(e){c.value=D(e)}function j(e){a.value=a.value.filter(t=>t.id!==e),a.value.length===0&&(r.value=null)}function M(){let e=Number(r.value),t={setType:e,examineMode:o.value,approveSelf:s.value,rejectStrategy:c.value,allowTransfer:l.value,allowAppendNode:d.value,allowRollback:f.value,allowCc:p.value,timeoutEnabled:m.value,timeoutHours:m.value?h.value:null,remindHours:m.value?g.value:null,autoApproveEnabled:_.value,autoApproveHours:_.value?v.value:null,autoApproveAction:_.value?y.value:null};return e===2||e===6?(t.examineLevel=i.value??1,t.nodeAssigneeList=[],t.assignees=[]):e===1||e===3||e===4?(t.nodeAssigneeList=a.value.map(e=>({...e})),t.assignees=[],t.examineLevel=null):(t.nodeAssigneeList=[],t.assignees=[],t.examineLevel=null),t}return t({getPatch:M}),(t,n)=>((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(X),{class:`h-full min-h-0`,"target-el":b.value,"rail-inset-right":-10},{default:(0,u.withCtx)(()=>[(0,u.createElementVNode)(`div`,{ref_key:`contentRef`,ref:b,class:`scrollbar-hide h-full min-h-0 overflow-auto`},[(0,u.createElementVNode)(`div`,Zn,[(0,u.createElementVNode)(`section`,Qn,[(0,u.createVNode)(Xn,{title:`审批类型`}),(0,u.createElementVNode)(`div`,$n,[(0,u.createVNode)(Rn,{items:S.value,roles:e.context.roles,"org-tree":e.context.orgTree,people:e.context.people,"model-value":r.value,"leader-level":i.value,"selected-role-ids":Number(r.value)===3?a.value.map(e=>e.id):[],"selected-people":[1,4].includes(Number(r.value))?a.value:[],placeholder:`搜索人员、角色名称`,"onUpdate:modelValue":n[0]||=e=>k(`person`,e??``),onConfirm:O},null,8,[`items`,`roles`,`org-tree`,`people`,`model-value`,`leader-level`,`selected-role-ids`,`selected-people`])]),(0,u.createElementVNode)(`p`,er,(0,u.toDisplayString)(C.value),1),x.value?((0,u.openBlock)(),(0,u.createBlock)(Hn,{key:0,items:a.value,"remove-label":`删除`,onRemove:j},null,8,[`items`])):(0,u.createCommentVNode)(``,!0)]),(0,u.createElementVNode)(`section`,tr,[(0,u.createVNode)(Xn,{title:`当多人审批时`}),(0,u.createElementVNode)(`div`,nr,[((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(e.context.approvalModes,e=>((0,u.openBlock)(),(0,u.createBlock)(Jn,{key:String(e.value),active:E(`mode`,o.value,e.value),title:e.label,description:e.description??`选择多人审批的流转方式。`,onClick:t=>k(`mode`,e.value)},null,8,[`active`,`title`,`description`,`onClick`]))),128))])]),(0,u.createElementVNode)(`section`,rr,[(0,u.createVNode)(Xn,{title:`审批人与提交人为同一个人时`}),(0,u.createElementVNode)(`div`,ir,[((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(e.context.samePersonModes,e=>((0,u.openBlock)(),(0,u.createBlock)(Jn,{key:String(e.value),active:E(`same`,s.value,e.value),title:e.label,description:e.description??`处理重复审批人的兜底动作。`,onClick:t=>k(`same`,e.value)},null,8,[`active`,`title`,`description`,`onClick`]))),128))])]),(0,u.createElementVNode)(`section`,ar,[(0,u.createVNode)(Xn,{title:`审批拒绝策略`}),(0,u.createElementVNode)(`div`,or,[((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(e.context.approvalRejectStrategies,e=>((0,u.openBlock)(),(0,u.createBlock)(Jn,{key:String(e.value),active:D(c.value)===D(e.value),title:e.label,description:e.description,onClick:t=>A(e.value)},null,8,[`active`,`title`,`description`,`onClick`]))),128))])]),(0,u.createElementVNode)(`section`,sr,[(0,u.createElementVNode)(`div`,cr,[n[12]||=(0,u.createElementVNode)(`span`,{class:`h-4 w-1 rounded-full bg-brand-500`,"aria-hidden":`true`},null,-1),n[13]||=(0,u.createElementVNode)(`h4`,{class:`text-sm font-semibold text-slate-900`},`超时提醒`,-1),n[14]||=(0,u.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},`审批超时预警与催办频率配置`,-1),(0,u.createElementVNode)(`div`,lr,[(0,u.createVNode)((0,u.unref)(vt),{modelValue:m.value,"onUpdate:modelValue":n[1]||=e=>m.value=e},null,8,[`modelValue`])])]),m.value?((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:0},[(0,u.createElementVNode)(`div`,ur,[n[16]||=(0,u.createElementVNode)(`label`,{class:`text-sm font-medium text-slate-700`},`超时时间`,-1),(0,u.createElementVNode)(`div`,dr,[(0,u.createVNode)((0,u.unref)(pt),{modelValue:h.value,"onUpdate:modelValue":n[2]||=e=>h.value=e,min:1,max:8760,class:`!w-28`},null,8,[`modelValue`]),n[15]||=(0,u.createElementVNode)(`span`,{class:`text-sm text-slate-500`},`小时`,-1)]),n[17]||=(0,u.createElementVNode)(`p`,{class:`text-xs leading-4 text-muted-foreground`},` 审批提交后超过该时间未处理,列表中将高亮预警。超时仅作提醒,不会自动流转审批。 `,-1)]),(0,u.createElementVNode)(`div`,fr,[n[19]||=(0,u.createElementVNode)(`label`,{class:`text-sm font-medium text-slate-700`},`提醒时间`,-1),(0,u.createElementVNode)(`div`,pr,[(0,u.createVNode)((0,u.unref)(pt),{modelValue:g.value,"onUpdate:modelValue":n[3]||=e=>g.value=e,min:1,max:8760,class:`!w-28`},null,8,[`modelValue`]),n[18]||=(0,u.createElementVNode)(`span`,{class:`text-sm text-slate-500`},`小时`,-1)]),n[20]||=(0,u.createElementVNode)(`p`,{class:`text-xs leading-4 text-muted-foreground`},` 超时催办后,该时长内不能再次催办,用于控制催办频率,避免频繁打扰审批人。 `,-1)])],64)):(0,u.createCommentVNode)(``,!0)]),(0,u.createElementVNode)(`section`,mr,[(0,u.createElementVNode)(`div`,hr,[n[21]||=(0,u.createElementVNode)(`span`,{class:`h-4 w-1 rounded-full bg-brand-500`,"aria-hidden":`true`},null,-1),n[22]||=(0,u.createElementVNode)(`h4`,{class:`text-sm font-semibold text-slate-900`},`超时自动审批`,-1),n[23]||=(0,u.createElementVNode)(`p`,{class:`text-xs text-muted-foreground`},`审批超时后自动处理,无需人工干预`,-1),(0,u.createElementVNode)(`div`,gr,[(0,u.createVNode)((0,u.unref)(vt),{modelValue:_.value,"onUpdate:modelValue":n[4]||=e=>_.value=e},null,8,[`modelValue`])])]),_.value?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,_r,[n[27]||=(0,u.createElementVNode)(`label`,{class:`shrink-0 text-sm font-medium text-slate-700`},`审批期限`,-1),(0,u.createElementVNode)(`div`,vr,[(0,u.createVNode)((0,u.unref)(pt),{modelValue:v.value,"onUpdate:modelValue":n[5]||=e=>v.value=e,min:1,max:8760,class:`!w-28`},null,8,[`modelValue`]),n[24]||=(0,u.createElementVNode)(`span`,{class:`text-sm text-slate-500`},`小时`,-1)]),n[28]||=(0,u.createElementVNode)(`label`,{class:`shrink-0 text-sm font-medium text-slate-700`},`超时后`,-1),(0,u.createElementVNode)(`div`,yr,[(0,u.createVNode)((0,u.unref)(gt),{modelValue:y.value,"onUpdate:modelValue":n[6]||=e=>y.value=e,value:`pass`},{default:(0,u.withCtx)(()=>[...n[25]||=[(0,u.createTextVNode)(`自动通过`,-1)]]),_:1},8,[`modelValue`]),(0,u.createVNode)((0,u.unref)(gt),{modelValue:y.value,"onUpdate:modelValue":n[7]||=e=>y.value=e,value:`reject`},{default:(0,u.withCtx)(()=>[...n[26]||=[(0,u.createTextVNode)(`自动拒绝`,-1)]]),_:1},8,[`modelValue`])])])):(0,u.createCommentVNode)(``,!0)]),(0,u.createElementVNode)(`section`,br,[(0,u.createVNode)(Xn,{title:`操作权限`}),(0,u.createElementVNode)(`div`,xr,[(0,u.createVNode)((0,u.unref)(ct),{modelValue:l.value,"onUpdate:modelValue":n[8]||=e=>l.value=e},{default:(0,u.withCtx)(()=>[...n[29]||=[(0,u.createTextVNode)(`允许转交`,-1)]]),_:1},8,[`modelValue`]),(0,u.createVNode)((0,u.unref)(ct),{modelValue:d.value,"onUpdate:modelValue":n[9]||=e=>d.value=e},{default:(0,u.withCtx)(()=>[...n[30]||=[(0,u.createTextVNode)(`允许加减签`,-1)]]),_:1},8,[`modelValue`]),(0,u.createVNode)((0,u.unref)(ct),{modelValue:f.value,"onUpdate:modelValue":n[10]||=e=>f.value=e},{default:(0,u.withCtx)(()=>[...n[31]||=[(0,u.createTextVNode)(`允许回退`,-1)]]),_:1},8,[`modelValue`]),(0,u.createVNode)((0,u.unref)(ct),{modelValue:p.value,"onUpdate:modelValue":n[11]||=e=>p.value=e},{default:(0,u.withCtx)(()=>[...n[32]||=[(0,u.createTextVNode)(`允许抄送`,-1)]]),_:1},8,[`modelValue`])])])])],512)]),_:1},8,[`target-el`]))}}),Cr={class:`flex flex-col gap-5`},wr={class:`space-y-3`},Tr={class:`flex items-center gap-2`},Er={class:`text-sm leading-5 text-slate-500`},Dr=(0,u.defineComponent)({__name:`CcNodeConfig`,props:{payload:{},context:{}},setup(e,{expose:t}){let n=e,r=(0,u.ref)(null),i=(0,u.ref)(null),a=(0,u.ref)([]),o=(0,u.ref)(null),s=(0,u.computed)(()=>[1,3,4].includes(Number(r.value))),c=(0,u.computed)(()=>(n.context.approvalPersonTypes??[]).map(e=>Number(e.value)===2||Number(e.value)===6?{...e,value:Number(r.value)===6?6:2}:e)),l=(0,u.computed)(()=>{let e=Number(r.value);return e===1?`提示:已选择指定成员,抄送时将通知下方所选成员。`:e===2?`提示:已选择部门领导,将自动匹配发起人的第 ${i.value??1} 级主管作为抄送人。`:e===6?`提示:已选择部门领导(连续多级),将按部门层级匹配发起人的第 ${i.value??1} 级至 1 级主管依次抄送。`:e===3?`提示:已选择角色,抄送时将通知拥有所选角色的用户。`:e===4?`提示:已选择发起人自选,抄送时由发起人自行选择抄送人;若发起人未选择,则通知下方人员。`:`提示:可选择指定成员、部门领导、角色匹配,或由发起人自选抄送人。`});function d(e){return typeof e==`number`?e:typeof e==`string`&&e.trim()!==``&&Number.isFinite(Number(e))?Number(e):e}function f(e){let t=d(e);return typeof t==`string`?{assignee:1,leader:2,role:3,initiator:4}[t]??t:t}function p(){r.value=f(n.payload.setType??n.payload.selectMode??null);let e=Number(r.value);if(e===2||e===6)i.value=typeof n.payload.examineLevel==`number`?n.payload.examineLevel:null,a.value=[];else if(e===1||e===3||e===4){i.value=null;let t=Array.isArray(n.payload.nodeAssigneeList)?n.payload.nodeAssigneeList.map(e=>({...e})):[];t.length===0&&e===3&&Array.isArray(n.payload.assignees)&&(t=n.payload.assignees.map(e=>{let t=n.context.roles.find(t=>t.id===e);return t?{id:t.id,name:t.name}:{id:String(e),name:String(e)}})),a.value=t}else i.value=null,a.value=[]}(0,u.watch)(()=>n.payload,()=>p(),{immediate:!0});function m(e){r.value=e.type;let t=Number(e.type);t===2||t===6?(i.value=e.leaderLevel??1,a.value=[]):t===3?(i.value=null,a.value=(e.roleIds??[]).map(e=>{let t=n.context.roles.find(t=>t.id===e);return{id:t?.id??String(e),name:t?.name??String(e)}})):(i.value=null,a.value=(e.people??[]).map(e=>({...e})))}function h(e){r.value=f(e)}function g(e){a.value=a.value.filter(t=>t.id!==e)}function _(){let e=Number(r.value),t={setType:e};return e===2||e===6?(t.examineLevel=i.value??1,t.nodeAssigneeList=[],t.assignees=[]):e===1||e===3||e===4?(t.nodeAssigneeList=a.value.map(e=>({...e})),t.assignees=[],t.examineLevel=null):(t.nodeAssigneeList=[],t.assignees=[],t.examineLevel=null),t}return t({getPatch:_}),(t,n)=>((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(X),{class:`h-full min-h-0`,"target-el":o.value,"rail-inset-right":-10},{default:(0,u.withCtx)(()=>[(0,u.createElementVNode)(`div`,{ref_key:`contentRef`,ref:o,class:`scrollbar-hide h-full min-h-0 overflow-auto`},[(0,u.createElementVNode)(`div`,Cr,[(0,u.createElementVNode)(`section`,wr,[(0,u.createVNode)(Xn,{title:`抄送类型`}),(0,u.createElementVNode)(`div`,Tr,[(0,u.createVNode)(Rn,{items:c.value,roles:e.context.roles,"org-tree":e.context.orgTree,people:e.context.people,"model-value":r.value,"leader-level":i.value,"selected-role-ids":Number(r.value)===3?a.value.map(e=>e.id):[],"selected-people":[1,4].includes(Number(r.value))?a.value:[],placeholder:`搜索人员、角色名称`,"onUpdate:modelValue":n[0]||=e=>h(e??``),onConfirm:m},null,8,[`items`,`roles`,`org-tree`,`people`,`model-value`,`leader-level`,`selected-role-ids`,`selected-people`])]),(0,u.createElementVNode)(`p`,Er,(0,u.toDisplayString)(l.value),1),s.value?((0,u.openBlock)(),(0,u.createBlock)(Hn,{key:0,items:a.value,"remove-label":`删除`,onRemove:g},null,8,[`items`])):(0,u.createCommentVNode)(``,!0)])])],512)]),_:1},8,[`target-el`]))}}),Or=[`data-open`,`data-invalid`],kr=[`disabled`],Ar={key:0,class:`flex min-w-0 flex-1 flex-wrap items-center gap-1`},jr={class:`truncate`},Mr=[`onClick`],Nr={key:0,class:`truncate text-muted-foreground`},Pr={key:0,class:`py-6`},Fr=[`onClick`],Ir={class:`flex-1 truncate`},Lr={key:0,viewBox:`0 0 24 24`,class:`size-3.5 shrink-0 text-brand-600`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},Rr=Xe((0,u.defineComponent)({__name:`Select`,props:(0,u.mergeModels)({options:{},placeholder:{default:`请选择`},disabled:{type:Boolean,default:!1},multiple:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1}},{modelValue:{default:``},modelModifiers:{}}),emits:(0,u.mergeModels)([`change`],[`update:modelValue`]),setup(e,{emit:t}){let n=e,r=t,i=(0,u.useModel)(e,`modelValue`),a=(0,u.ref)(!1),o=(0,u.ref)(null),s=(0,u.ref)(null),c=(0,u.ref)(null),l=(0,u.computed)(()=>{if(n.multiple){let e=Array.isArray(i.value)?i.value:[];return new Set(e.map(e=>String(e)))}return i.value===``||i.value==null?new Set:new Set([String(i.value)])}),f=(0,u.computed)(()=>n.options.length===0),p=(0,u.computed)(()=>n.multiple),m=(0,u.computed)(()=>p.value?n.options.filter(e=>l.value.has(String(e.value))):[]),h=(0,u.computed)(()=>p.value?null:n.options.find(e=>l.value.has(String(e.value)))??null),g=(0,u.computed)(()=>h.value?.label??n.placeholder);function _(){n.disabled||(a.value=!a.value)}function v(e){if(p.value){let t=String(e.value),n=Array.isArray(i.value)?[...i.value]:[],a=n.findIndex(e=>String(e)===t);a>=0?n.splice(a,1):n.push(e.value),i.value=n,r(`change`,n);return}i.value=e.value,r(`change`,e.value),a.value=!1}function y(e){let t=Array.isArray(i.value)?i.value.filter(t=>String(t)!==String(e.value)):[];i.value=t,r(`change`,t)}return(0,d.onClickOutside)(o,()=>{a.value=!1},{ignore:[s]}),(0,d.useEventListener)(`keydown`,e=>{a.value&&e.key===`Escape`&&(a.value=!1,o.value?.focus())}),(t,n)=>((0,u.openBlock)(),(0,u.createElementBlock)(`div`,{ref_key:`triggerRef`,ref:o,class:`relative inline-flex`,"data-open":a.value,"data-invalid":e.invalid},[(0,u.createElementVNode)(`button`,{type:`button`,disabled:e.disabled,class:(0,u.normalizeClass)([`select-trigger flex w-full cursor-pointer items-center justify-between gap-1 rounded-md border border-slate-200 bg-white px-2.5 text-sm leading-5 text-foreground transition-colors focus:outline-none disabled:cursor-not-allowed disabled:opacity-50`,p.value?`min-h-8 flex-wrap gap-1 py-1`:`h-8`]),onClick:_},[p.value?((0,u.openBlock)(),(0,u.createElementBlock)(`span`,Ar,[((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(m.value,e=>((0,u.openBlock)(),(0,u.createElementBlock)(`span`,{key:e.value,class:`inline-flex max-w-full items-center gap-1 rounded bg-brand-50 py-0.5 pl-1.5 pr-1 text-xs leading-4 text-brand-700`,onClick:n[0]||=(0,u.withModifiers)(()=>{},[`stop`])},[(0,u.createElementVNode)(`span`,jr,(0,u.toDisplayString)(e.label),1),(0,u.createElementVNode)(`span`,{class:`inline-flex size-3.5 shrink-0 cursor-pointer items-center justify-center rounded-full text-brand-500 transition hover:bg-brand-100 hover:text-brand-700`,role:`button`,"aria-label":`移除`,onClick:(0,u.withModifiers)(t=>y(e),[`stop`])},[...n[1]||=[(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`size-2.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,u.createElementVNode)(`path`,{d:`M18 6 6 18`}),(0,u.createElementVNode)(`path`,{d:`m6 6 12 12`})],-1)]],8,Mr)]))),128)),m.value.length===0?((0,u.openBlock)(),(0,u.createElementBlock)(`span`,Nr,(0,u.toDisplayString)(e.placeholder),1)):(0,u.createCommentVNode)(``,!0)])):((0,u.openBlock)(),(0,u.createElementBlock)(`span`,{key:1,class:(0,u.normalizeClass)([`truncate`,h.value?`text-foreground`:`text-muted-foreground`])},(0,u.toDisplayString)(g.value),3)),((0,u.openBlock)(),(0,u.createElementBlock)(`svg`,{viewBox:`0 0 24 24`,class:(0,u.normalizeClass)([`size-4 shrink-0 text-slate-400 transition-transform`,{"rotate-180":a.value}]),fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[...n[2]||=[(0,u.createElementVNode)(`path`,{d:`m6 9 6 6 6-6`},null,-1)]],2))],10,kr),(0,u.createVNode)(u.Transition,{name:`select-fade`},{default:(0,u.withCtx)(()=>[a.value?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,{key:0,ref_key:`dropdownRef`,ref:s,class:`absolute left-0 top-full z-50 mt-1 max-h-60 w-full min-w-[120px] overflow-hidden rounded-md border border-slate-200 bg-white py-1`},[f.value?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,Pr,[(0,u.createVNode)((0,u.unref)(Z))])):((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(X),{key:1,"target-el":c.value,class:`max-h-[224px]`,railInsetRight:3},{default:(0,u.withCtx)(()=>[(0,u.createElementVNode)(`div`,{ref_key:`dropdownContentRef`,ref:c,class:`scrollbar-hide max-h-[224px] overflow-auto`},[((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(e.options,e=>((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{key:e.value,type:`button`,class:(0,u.normalizeClass)([`flex w-full cursor-pointer items-center justify-between gap-2 px-2.5 py-1.5 text-left text-sm leading-5 transition-colors hover:bg-slate-100`,{"bg-brand-50 text-foreground":l.value.has(String(e.value)),"text-slate-700":!l.value.has(String(e.value))}]),onClick:t=>v(e)},[(0,u.createElementVNode)(`span`,Ir,(0,u.toDisplayString)(e.label),1),l.value.has(String(e.value))?((0,u.openBlock)(),(0,u.createElementBlock)(`svg`,Lr,[...n[3]||=[(0,u.createElementVNode)(`path`,{d:`M20 6 9 17l-5-5`},null,-1)]])):(0,u.createCommentVNode)(``,!0)],10,Fr))),128))],512)]),_:1},8,[`target-el`]))],512)):(0,u.createCommentVNode)(``,!0)]),_:1})],8,Or))}}),[[`__scopeId`,`data-v-d05a38e7`]]),zr=[`data-open`],Br={class:`select-trigger flex h-8 w-full items-center gap-1 rounded-md border border-slate-200 bg-white pl-2.5 pr-1 text-sm leading-5 transition-colors focus-within:border-brand-600 disabled:cursor-not-allowed disabled:opacity-50`},Vr={key:0,class:`mr-auto inline-flex items-center gap-1 rounded bg-brand-50 px-1.5 py-0.5 text-xs font-medium text-brand-600`},Hr=[`disabled`],Ur=[`disabled`,`placeholder`],Wr=[`disabled`],Gr={key:0,class:`py-6`},Kr=[`onClick`],qr={class:`flex-1 truncate`},Jr={key:0,viewBox:`0 0 24 24`,class:`size-3.5 shrink-0 text-brand-600`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},Yr=Xe((0,u.defineComponent)({__name:`SelectField`,props:(0,u.mergeModels)({options:{default:()=>[]},placeholder:{default:`请输入或选择`},disabled:{type:Boolean,default:!1}},{modelValue:{default:``},modelModifiers:{}}),emits:(0,u.mergeModels)([`change`],[`update:modelValue`]),setup(e,{emit:t}){let n=e,r=t,i=(0,u.useModel)(e,`modelValue`),a=(0,u.ref)(!1),o=(0,u.ref)(null),s=(0,u.ref)(null),c=(0,u.ref)(null),l=(0,u.ref)(null),f=(0,u.computed)(()=>n.options.length===0),p=(0,u.computed)(()=>n.options.find(e=>String(e.value)===String(i.value))??null);function m(){n.disabled||(a.value=!a.value)}function h(e){i.value=e.value,r(`change`,e.value),a.value=!1}function g(){i.value=``,r(`change`,``),o.value?.focus()}return(0,d.onClickOutside)(s,()=>{a.value=!1},{ignore:[c]}),(0,d.useEventListener)(`keydown`,e=>{a.value&&e.key===`Escape`&&(a.value=!1,o.value?.focus())}),(t,n)=>((0,u.openBlock)(),(0,u.createElementBlock)(`div`,{ref_key:`triggerRef`,ref:s,class:`relative inline-flex w-full`,"data-open":a.value},[(0,u.createElementVNode)(`div`,Br,[p.value?((0,u.openBlock)(),(0,u.createElementBlock)(`span`,Vr,[(0,u.createTextVNode)((0,u.toDisplayString)(p.value.label)+` `,1),(0,u.createElementVNode)(`button`,{type:`button`,disabled:e.disabled,class:`inline-flex cursor-pointer items-center text-brand-600 hover:text-brand-700`,"aria-label":`移除选择`,onClick:g},[...n[1]||=[(0,u.createElementVNode)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,class:`size-3 shrink-0`,"aria-hidden":`true`},[(0,u.createElementVNode)(`path`,{d:`M18 6 6 18`}),(0,u.createElementVNode)(`path`,{d:`m6 6 12 12`})],-1)]],8,Hr)])):(0,u.withDirectives)(((0,u.openBlock)(),(0,u.createElementBlock)(`input`,{key:1,ref_key:`inputRef`,ref:o,"onUpdate:modelValue":n[0]||=e=>i.value=e,disabled:e.disabled,placeholder:e.placeholder,class:`min-w-0 flex-1 bg-transparent text-foreground placeholder:text-muted-foreground focus:outline-none`},null,8,Ur)),[[u.vModelText,i.value]]),(0,u.createElementVNode)(`button`,{type:`button`,disabled:e.disabled,class:(0,u.normalizeClass)([`inline-flex size-6 shrink-0 cursor-pointer items-center justify-center rounded text-slate-400 transition-colors hover:bg-[hsl(210_40%_96.1%)] hover:text-foreground disabled:cursor-not-allowed`,{"text-foreground":a.value}]),"aria-label":`选择字段`,onClick:m},[(0,u.renderSlot)(t.$slots,`suffix-icon`,{},()=>[n[2]||=(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`size-4`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,u.createElementVNode)(`path`,{d:`M5 12h14`}),(0,u.createElementVNode)(`path`,{d:`M12 5v14`})],-1)],!0)],10,Wr)]),(0,u.createVNode)(u.Transition,{name:`select-fade`},{default:(0,u.withCtx)(()=>[a.value?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,{key:0,ref_key:`dropdownRef`,ref:c,class:`absolute left-0 top-full z-50 mt-1 max-h-60 w-full min-w-[160px] overflow-hidden rounded-md border border-slate-200 bg-white py-1`},[f.value?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,Gr,[(0,u.createVNode)((0,u.unref)(Z))])):((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(X),{key:1,"target-el":l.value,class:`max-h-[224px]`,railInsetRight:3},{default:(0,u.withCtx)(()=>[(0,u.createElementVNode)(`div`,{ref_key:`dropdownContentRef`,ref:l,class:`scrollbar-hide max-h-[224px] overflow-auto`},[((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(e.options,e=>((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{key:e.value,type:`button`,class:(0,u.normalizeClass)([`flex w-full cursor-pointer items-center justify-between gap-2 px-2.5 py-1.5 text-left text-sm leading-5 transition-colors hover:bg-slate-100`,{"bg-brand-50 text-foreground":String(e.value)===String(i.value),"text-slate-700":String(e.value)!==String(i.value)}]),onClick:t=>h(e)},[(0,u.createElementVNode)(`span`,qr,(0,u.toDisplayString)(e.label),1),String(e.value)===String(i.value)?((0,u.openBlock)(),(0,u.createElementBlock)(`svg`,Jr,[...n[3]||=[(0,u.createElementVNode)(`path`,{d:`M20 6 9 17l-5-5`},null,-1)]])):(0,u.createCommentVNode)(``,!0)],10,Kr))),128))],512)]),_:1},8,[`target-el`]))],512)):(0,u.createCommentVNode)(``,!0)]),_:1})],8,zr))}}),[[`__scopeId`,`data-v-7a83b4f0`]]),Xr={class:`flex items-center justify-between border-b border-slate-100 px-3 py-2`},Zr={class:`text-sm font-medium text-foreground`},Qr={class:`scrollbar-hide`},$r={class:`grid grid-cols-7 px-2 pt-2`},ei={class:`grid grid-cols-7 px-2 pb-2`},ti=[`onClick`],ni=(0,u.defineComponent)({__name:`DatePanel`,props:{modelValue:{}},emits:[`select`],setup(e,{emit:t}){let n=e,r=t,i=[`一`,`二`,`三`,`四`,`五`,`六`,`日`],a=new Date,o=(0,u.ref)(a.getFullYear()),s=(0,u.ref)(a.getMonth()+1);(0,u.watch)(()=>n.modelValue,e=>{if(!e)return;let[t,n]=e.split(`-`).map(Number);t&&n&&(o.value=t,s.value=n)},{immediate:!0});function c(e){return String(e).padStart(2,`0`)}function l(e,t,n){return`${e}-${c(t)}-${c(n)}`}let d=(0,u.computed)(()=>{let e=(new Date(o.value,s.value-1,1).getDay()+6)%7,t=[];for(let n=0;n<42;n++){let r=new Date(o.value,s.value-1,1-e+n),i=r.getFullYear(),a=r.getMonth()+1,c=r.getDate();t.push({key:`${i}-${a}-${c}`,dateStr:l(i,a,c),day:c,inMonth:a===s.value})}return t}),f=l(a.getFullYear(),a.getMonth()+1,a.getDate());function p(){s.value===1?(--o.value,s.value=12):--s.value}function m(){s.value===12?(o.value+=1,s.value=1):s.value+=1}function h(){--o.value}function g(){o.value+=1}function _(e){r(`select`,e.dateStr)}return(t,n)=>((0,u.openBlock)(),(0,u.createElementBlock)(`div`,null,[(0,u.createElementVNode)(`div`,Xr,[(0,u.createElementVNode)(`div`,{class:`flex items-center gap-0.5`},[(0,u.createElementVNode)(`button`,{type:`button`,class:`inline-flex size-6 cursor-pointer items-center justify-center rounded-md text-slate-400 transition hover:bg-slate-100 hover:text-slate-700`,"aria-label":`上一年`,onClick:h},[...n[0]||=[(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`size-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,u.createElementVNode)(`path`,{d:`m11 17-5-5 5-5`}),(0,u.createElementVNode)(`path`,{d:`m18 17-5-5 5-5`})],-1)]]),(0,u.createElementVNode)(`button`,{type:`button`,class:`inline-flex size-6 cursor-pointer items-center justify-center rounded-md text-slate-400 transition hover:bg-slate-100 hover:text-slate-700`,"aria-label":`上一月`,onClick:p},[...n[1]||=[(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`size-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,u.createElementVNode)(`path`,{d:`m15 18-6-6 6-6`})],-1)]])]),(0,u.createElementVNode)(`span`,Zr,(0,u.toDisplayString)(o.value)+` 年 `+(0,u.toDisplayString)(s.value)+` 月`,1),(0,u.createElementVNode)(`div`,{class:`flex items-center gap-0.5`},[(0,u.createElementVNode)(`button`,{type:`button`,class:`inline-flex size-6 cursor-pointer items-center justify-center rounded-md text-slate-400 transition hover:bg-slate-100 hover:text-slate-700`,"aria-label":`下一月`,onClick:m},[...n[2]||=[(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`size-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,u.createElementVNode)(`path`,{d:`m9 18 6-6-6-6`})],-1)]]),(0,u.createElementVNode)(`button`,{type:`button`,class:`inline-flex size-6 cursor-pointer items-center justify-center rounded-md text-slate-400 transition hover:bg-slate-100 hover:text-slate-700`,"aria-label":`下一年`,onClick:g},[...n[3]||=[(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`size-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,u.createElementVNode)(`path`,{d:`m13 17 5-5-5-5`}),(0,u.createElementVNode)(`path`,{d:`m6 17 5-5-5-5`})],-1)]])])]),(0,u.createVNode)((0,u.unref)(X),{"rail-inset-right":-8,class:`max-h-[252px]`},{default:(0,u.withCtx)(()=>[(0,u.createElementVNode)(`div`,Qr,[(0,u.createElementVNode)(`div`,$r,[((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(i,e=>(0,u.createElementVNode)(`span`,{key:e,class:`flex h-7 items-center justify-center text-xs text-slate-400`},(0,u.toDisplayString)(e),1)),64))]),(0,u.createElementVNode)(`div`,ei,[((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(d.value,t=>((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{key:t.key,type:`button`,class:(0,u.normalizeClass)([`mx-auto my-0.5 inline-flex size-7 cursor-pointer items-center justify-center rounded-md text-[13px] leading-none transition-colors`,[t.dateStr===e.modelValue?`bg-brand-600 font-medium text-white`:t.dateStr===(0,u.unref)(f)?`border border-brand-500 text-brand-600 hover:bg-brand-50`:t.inMonth?`text-foreground hover:bg-slate-100`:`text-slate-300 hover:bg-slate-50`]]),onClick:e=>_(t)},(0,u.toDisplayString)(t.day),11,ti))),128))])])]),_:1})]))}});function ri(e,t,n={}){let r=n.offset??4,i=n.margin??8,a=(0,u.ref)({left:`0px`,top:`0px`});function o(){let n=e.value;if(!n)return;let o=n.getBoundingClientRect(),s=t.value,c=s?.offsetWidth||264,l=s?.offsetHeight||360,u=o.left;u+c>window.innerWidth-i&&(u=o.right-c),u=Math.min(Math.max(u,i),Math.max(window.innerWidth-c-i,i));let d=o.bottom+r;d+l>window.innerHeight-i&&(d=o.top-l-r),d=Math.max(d,i),a.value={left:`${Math.round(u)}px`,top:`${Math.round(d)}px`}}return(0,d.useEventListener)(window,`scroll`,()=>o(),{capture:!0,passive:!0}),(0,d.useEventListener)(window,`resize`,()=>o(),{passive:!0}),{panelStyle:a,update:o}}var ii=[`data-open`],ai=[`disabled`],oi=Xe((0,u.defineComponent)({name:`DatePicker`,__name:`DatePicker`,props:(0,u.mergeModels)({placeholder:{default:`请选择日期`},disabled:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1}},{modelValue:{default:``},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=(0,u.useModel)(e,`modelValue`),r=(0,u.ref)(!1),i=(0,u.ref)(null),a=(0,u.ref)(null),{panelStyle:o,update:s}=ri(i,a);function c(){t.disabled||(r.value=!r.value,r.value&&(0,u.nextTick)().then(()=>s()))}function l(e){n.value=e,r.value=!1}function f(){let e=new Date,t=e=>String(e).padStart(2,`0`);n.value=`${e.getFullYear()}-${t(e.getMonth()+1)}-${t(e.getDate())}`,r.value=!1}function p(){n.value=``,r.value=!1}return(0,d.onClickOutside)(i,()=>{r.value=!1},{ignore:[a]}),(0,d.useEventListener)(`keydown`,e=>{r.value&&e.key===`Escape`&&(r.value=!1,i.value?.focus())}),(t,s)=>((0,u.openBlock)(),(0,u.createElementBlock)(`div`,{ref_key:`triggerRef`,ref:i,class:`relative inline-flex`,"data-open":r.value},[(0,u.createElementVNode)(`button`,{type:`button`,disabled:e.disabled,class:`date-trigger flex h-8 w-full cursor-pointer items-center justify-between gap-1 rounded-md border border-slate-200 bg-white px-2.5 text-sm leading-5 transition-colors focus:outline-none disabled:cursor-not-allowed disabled:opacity-50`,onClick:c},[(0,u.createElementVNode)(`span`,{class:(0,u.normalizeClass)([`truncate`,n.value?`text-foreground`:`text-muted-foreground`])},(0,u.toDisplayString)(n.value||e.placeholder),3),s[0]||=(0,u.createStaticVNode)(`<svg viewBox="0 0 24 24" class="size-4 shrink-0 text-slate-400" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" data-v-ae30219d><path d="M8 2v4" data-v-ae30219d></path><path d="M16 2v4" data-v-ae30219d></path><rect x="3" y="4" width="18" height="18" rx="2" data-v-ae30219d></rect><path d="M3 10h18" data-v-ae30219d></path></svg>`,1)],8,ai),((0,u.openBlock)(),(0,u.createBlock)(u.Teleport,{to:`body`},[(0,u.createVNode)(u.Transition,{name:`date-fade`},{default:(0,u.withCtx)(()=>[r.value?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,{key:0,ref_key:`dropdownRef`,ref:a,class:`fixed z-[60] w-[264px] overflow-hidden rounded-lg border border-slate-200 bg-white shadow-lg`,style:(0,u.normalizeStyle)((0,u.unref)(o))},[(0,u.createVNode)(ni,{"model-value":n.value,onSelect:l},null,8,[`model-value`]),(0,u.createElementVNode)(`div`,{class:`flex items-center justify-between border-t border-slate-100 px-3 py-2`},[(0,u.createElementVNode)(`button`,{type:`button`,class:`cursor-pointer rounded-md px-2 py-1 text-xs text-slate-500 transition hover:bg-slate-100 hover:text-slate-700`,onClick:p},` 清空 `),(0,u.createElementVNode)(`button`,{type:`button`,class:`cursor-pointer rounded-md px-2 py-1 text-xs text-brand-600 transition hover:bg-brand-50`,onClick:f},` 今天 `)])],4)):(0,u.createCommentVNode)(``,!0)]),_:1})]))],8,ii))}}),[[`__scopeId`,`data-v-ae30219d`]]),si=[`data-open`],ci=[`disabled`],li={class:`flex items-stretch gap-2 border-t border-slate-100 px-3 py-2`},ui={class:`flex flex-1 gap-1.5`},di={class:`scrollbar-hide py-1`},fi=[`onClick`],pi={class:`scrollbar-hide py-1`},mi=[`onClick`],hi=Xe((0,u.defineComponent)({name:`DateTimePicker`,__name:`DateTimePicker`,props:(0,u.mergeModels)({placeholder:{default:`请选择日期时间`},disabled:{type:Boolean,default:!1}},{modelValue:{default:``},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=e,n=(0,u.useModel)(e,`modelValue`),r=(0,u.ref)(!1),i=(0,u.ref)(null),a=(0,u.ref)(null),{panelStyle:o,update:s}=ri(i,a),c=(0,u.ref)(``),l=(0,u.ref)(`00:00`);function f(){if(!n.value){c.value=``;return}let[e,t]=n.value.split(` `);c.value=e??``,t&&(l.value=t.slice(0,5))}function p(e){return String(e).padStart(2,`0`)}let m=Array.from({length:24},(e,t)=>p(t)),h=Array.from({length:60},(e,t)=>p(t));function g(){c.value&&(n.value=`${c.value} ${l.value}`)}function _(e){c.value=e,g()}function v(){t.disabled||(f(),r.value=!r.value,r.value&&(0,u.nextTick)().then(()=>s()))}let y=(0,u.computed)(()=>n.value||t.placeholder);function b(){let e=new Date;c.value=`${e.getFullYear()}-${p(e.getMonth()+1)}-${p(e.getDate())}`,l.value=`${p(e.getHours())}:${p(e.getMinutes())}`,g(),r.value=!1}function x(){n.value=``,c.value=``,r.value=!1}return(0,d.onClickOutside)(i,()=>{r.value=!1},{ignore:[a]}),(0,d.useEventListener)(`keydown`,e=>{r.value&&e.key===`Escape`&&(r.value=!1,i.value?.focus())}),(t,s)=>((0,u.openBlock)(),(0,u.createElementBlock)(`div`,{ref_key:`triggerRef`,ref:i,class:`relative inline-flex`,"data-open":r.value},[(0,u.createElementVNode)(`button`,{type:`button`,disabled:e.disabled,class:`datetime-trigger flex h-8 w-full cursor-pointer items-center justify-between gap-1 rounded-md border border-slate-200 bg-white px-2.5 text-sm leading-5 transition-colors focus:outline-none disabled:cursor-not-allowed disabled:opacity-50`,onClick:v},[(0,u.createElementVNode)(`span`,{class:(0,u.normalizeClass)([`truncate`,n.value?`text-foreground`:`text-muted-foreground`])},(0,u.toDisplayString)(y.value),3),s[0]||=(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`size-4 shrink-0 text-slate-400`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,u.createElementVNode)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,u.createElementVNode)(`path`,{d:`M12 6v6l4 2`})],-1)],8,ci),((0,u.openBlock)(),(0,u.createBlock)(u.Teleport,{to:`body`},[(0,u.createVNode)(u.Transition,{name:`datetime-fade`},{default:(0,u.withCtx)(()=>[r.value?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,{key:0,ref_key:`dropdownRef`,ref:a,class:`fixed z-[60] w-[264px] overflow-hidden rounded-lg border border-slate-200 bg-white shadow-lg`,style:(0,u.normalizeStyle)((0,u.unref)(o))},[(0,u.createVNode)(ni,{"model-value":c.value,onSelect:_},null,8,[`model-value`]),(0,u.createElementVNode)(`div`,li,[(0,u.createElementVNode)(`div`,ui,[(0,u.createVNode)((0,u.unref)(X),{"rail-inset-right":-6,class:`max-h-[104px] flex-1 rounded-md border border-slate-100`},{default:(0,u.withCtx)(()=>[(0,u.createElementVNode)(`div`,di,[((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)((0,u.unref)(m),e=>((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{key:e,type:`button`,class:(0,u.normalizeClass)([`flex h-6 w-full cursor-pointer items-center justify-center rounded text-xs transition-colors`,e===l.value.slice(0,2)?`bg-brand-50 font-medium text-brand-600`:`text-slate-600 hover:bg-slate-100`]),onClick:t=>{l.value=`${e}:${l.value.slice(3,5)}`,g()}},(0,u.toDisplayString)(e),11,fi))),128))])]),_:1}),(0,u.createVNode)((0,u.unref)(X),{"rail-inset-right":-6,class:`max-h-[104px] flex-1 rounded-md border border-slate-100`},{default:(0,u.withCtx)(()=>[(0,u.createElementVNode)(`div`,pi,[((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)((0,u.unref)(h),e=>((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{key:e,type:`button`,class:(0,u.normalizeClass)([`flex h-6 w-full cursor-pointer items-center justify-center rounded text-xs transition-colors`,e===l.value.slice(3,5)?`bg-brand-50 font-medium text-brand-600`:`text-slate-600 hover:bg-slate-100`]),onClick:t=>{l.value=`${l.value.slice(0,2)}:${e}`,g()}},(0,u.toDisplayString)(e),11,mi))),128))])]),_:1})])]),(0,u.createElementVNode)(`div`,{class:`flex items-center justify-between border-t border-slate-100 px-3 py-2`},[(0,u.createElementVNode)(`button`,{type:`button`,class:`cursor-pointer rounded-md px-2 py-1 text-xs text-slate-500 transition hover:bg-slate-100 hover:text-slate-700`,onClick:x},` 清空 `),(0,u.createElementVNode)(`button`,{type:`button`,class:`cursor-pointer rounded-md px-2 py-1 text-xs text-brand-600 transition hover:bg-brand-50`,onClick:b},` 此刻 `)])],4)):(0,u.createCommentVNode)(``,!0)]),_:1})]))],8,si))}}),[[`__scopeId`,`data-v-6f56c5a4`]]),gi={class:`flex flex-col gap-4`},_i={key:0,class:`flex flex-col items-center justify-center gap-3 rounded-lg border border-dashed border-slate-200 bg-slate-50 py-10`},vi={key:0,class:`flex items-center justify-center`},yi={class:`rounded-lg border border-slate-200 bg-white`},bi=[`onClick`],xi={class:`flex items-center gap-1`},Si=[`onClick`],Ci=[`onClick`],wi={class:`space-y-2 px-4 py-3`},Ti={key:0,class:`flex items-center justify-center py-0.5`},Ei={class:`flex items-center gap-2`},Di={class:`w-[150px] shrink-0`},Oi={class:`min-w-0 flex-1`},ki=[`onClick`],Ai=(0,u.defineComponent)({__name:`ConditionNodeConfig`,props:{payload:{},context:{}},setup(e,{expose:t}){let n=e,r=(0,u.ref)([]),i=(0,u.ref)(null),a=(0,u.computed)(()=>n.context.metaFormFields.map(e=>({value:e.fieldKey,label:e.fieldName??e.fieldKey})));function o(e){return n.context.metaFormFields.find(t=>t.fieldKey===e)??null}let s=[{value:`>`,label:`大于`},{value:`<`,label:`小于`},{value:`>=`,label:`大于等于`},{value:`<=`,label:`小于等于`},{value:`=`,label:`等于`},{value:`!=`,label:`不等于`}],c=[{value:`contains`,label:`包含`},{value:`notContains`,label:`不包含`}],l=[{value:`=`,label:`等于`},{value:`!=`,label:`不等于`}],d=[{value:`true`,label:`是`},{value:`false`,label:`否`}];function f(e){switch(o(e)?.fieldType){case`number`:case`date`:case`datetime`:return s;case`string`:case`multi_select`:return c;case`select`:case`boolean`:return l;default:return[...s,...c]}}function p(e){let t=o(e)?.fieldType;return t===`number`||t===`date`||t===`datetime`||t===`select`||t===`multi_select`||t===`boolean`?t:`string`}function m(e){let t=o(e);if(!t?.optionsJson)return[];try{let e=JSON.parse(t.optionsJson);if(!Array.isArray(e))return[];let n=[];for(let t of e){if(typeof t==`string`||typeof t==`number`){n.push({value:t,label:String(t)});continue}if(typeof t==`object`&&t){let e=t,r=e.value??e.key??e.id;if(r==null)continue;n.push({value:r,label:String(e.label??e.name??r)})}}return n}catch{return[]}}function h(e){if(e.value===``)return null;let t=Number(e.value);return Number.isFinite(t)?t:null}function g(e,t){e.value=t==null?``:String(t)}function _(e){return e.value?e.value.split(`,`):[]}function v(e,t){e.value=t.map(String).join(`,`)}function y(e){return e.field!==``&&(e.value===``||e.value==null)}let b=(0,u.ref)(!1);function x(){return!r.value.some(e=>e.rules.some(e=>y(e)))}function S(e){return b.value&&y(e)}function C(){return{label:``,field:``,operator:``,value:``,type:`custom`}}function w(){r.value.push({rules:[C()],collapsed:!1})}function T(e){r.value[e].rules.push(C())}function E(e,t){let n=r.value[e];n.rules.splice(t,1),n.rules.length===0&&r.value.splice(e,1)}function D(e){r.value.splice(e,1)}function ee(e){e.collapsed=!e.collapsed}function O(e){e.operator=String(f(e.field)[0]?.value??``),e.value=``}function k(){let e=Array.isArray(n.payload.conditionList)?n.payload.conditionList:[];r.value=e.map(e=>({rules:e.map(e=>({...e})),collapsed:!1})),b.value=!1}(0,u.watch)(()=>n.payload,()=>k(),{immediate:!0});function A(e){let t=a.value.find(t=>String(t.value)===String(e.field));return{...e,label:t?t.label:e.field,type:t?`form`:`custom`}}function j(){return x()?(b.value=!1,{conditionList:r.value.map(e=>e.rules.map(e=>A(e)))}):(b.value=!0,null)}return t({getPatch:j}),(e,t)=>((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(X),{class:`h-full min-h-0`,"target-el":i.value,"rail-inset-right":-10},{default:(0,u.withCtx)(()=>[(0,u.createElementVNode)(`div`,{ref_key:`contentRef`,ref:i,class:`scrollbar-hide h-full min-h-0 overflow-auto`},[(0,u.createElementVNode)(`div`,gi,[r.value.length===0?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,_i,[t[1]||=(0,u.createElementVNode)(`p`,{class:`text-sm leading-6 text-slate-500`},`暂无条件,请添加条件组`,-1),(0,u.createElementVNode)(`button`,{type:`button`,class:`inline-flex h-8 cursor-pointer items-center justify-center rounded-lg border border-slate-200 bg-white px-3.5 py-2 text-[13px] font-medium leading-4 text-slate-600 transition hover:border-slate-400 hover:bg-slate-100`,onClick:w},[...t[0]||=[(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`mr-1 size-4`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,u.createElementVNode)(`path`,{d:`M5 12h14`}),(0,u.createElementVNode)(`path`,{d:`M12 5v14`})],-1),(0,u.createTextVNode)(` 添加条件组 `,-1)]])])):(0,u.createCommentVNode)(``,!0),((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(r.value,(e,n)=>((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:n},[n>0?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,vi,[...t[2]||=[(0,u.createElementVNode)(`span`,{class:`rounded-full bg-slate-100 px-3 py-0.5 text-xs font-medium text-slate-500`},`或`,-1)]])):(0,u.createCommentVNode)(``,!0),(0,u.createElementVNode)(`section`,yi,[(0,u.createElementVNode)(`div`,{class:(0,u.normalizeClass)([`flex items-center justify-between px-3 py-2`,{"border-b border-slate-200":!e.collapsed}])},[(0,u.createElementVNode)(`button`,{type:`button`,class:`inline-flex items-center gap-1.5 rounded-md px-1.5 py-1 text-sm font-medium text-foreground transition-colors hover:bg-[hsl(210_40%_96.1%)]`,onClick:t=>ee(e)},[((0,u.openBlock)(),(0,u.createElementBlock)(`svg`,{viewBox:`0 0 24 24`,class:(0,u.normalizeClass)([`size-4 transition-transform`,{"-rotate-90":e.collapsed}]),fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[...t[3]||=[(0,u.createElementVNode)(`path`,{d:`m6 9 6 6 6-6`},null,-1)]],2)),(0,u.createElementVNode)(`span`,null,`条件组 `+(0,u.toDisplayString)(n+1),1)],8,bi),(0,u.createElementVNode)(`div`,xi,[(0,u.createElementVNode)(`button`,{type:`button`,class:`inline-flex size-6 cursor-pointer items-center justify-center rounded-md text-foreground transition-colors hover:bg-[hsl(210_40%_96.1%)]`,"aria-label":`添加条件`,title:`添加条件`,onClick:e=>T(n)},[...t[4]||=[(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`size-4`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,u.createElementVNode)(`path`,{d:`M5 12h14`}),(0,u.createElementVNode)(`path`,{d:`M12 5v14`})],-1)]],8,Si),r.value.length>1?((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{key:0,type:`button`,class:`inline-flex size-6 cursor-pointer items-center justify-center rounded-md text-foreground transition-colors hover:bg-[hsl(210_40%_96.1%)]`,"aria-label":`删除条件组`,title:`删除条件组`,onClick:e=>D(n)},[...t[5]||=[(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`size-4`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,u.createElementVNode)(`path`,{d:`M10 11v6`}),(0,u.createElementVNode)(`path`,{d:`M14 11v6`}),(0,u.createElementVNode)(`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`}),(0,u.createElementVNode)(`path`,{d:`M3 6h18`}),(0,u.createElementVNode)(`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`})],-1)]],8,Ci)):(0,u.createCommentVNode)(``,!0)])],2),(0,u.withDirectives)((0,u.createElementVNode)(`div`,wi,[((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(e.rules,(e,r)=>((0,u.openBlock)(),(0,u.createElementBlock)(`div`,{key:r,class:`flex flex-col gap-2`},[r>0?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,Ti,[...t[6]||=[(0,u.createElementVNode)(`span`,{class:`rounded-full bg-brand-50 px-3 py-0.5 text-xs font-medium text-brand-500`},`且`,-1)]])):(0,u.createCommentVNode)(``,!0),(0,u.createElementVNode)(`div`,Ei,[(0,u.createElementVNode)(`div`,Di,[(0,u.createVNode)((0,u.unref)(Yr),{modelValue:e.field,"onUpdate:modelValue":t=>e.field=t,options:a.value,placeholder:`输入或选择`,onChange:t=>O(e)},{"suffix-icon":(0,u.withCtx)(()=>[...t[7]||=[(0,u.createElementVNode)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,class:`size-3.5`,"aria-hidden":`true`},[(0,u.createElementVNode)(`path`,{d:`M13.354 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14v6a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341l1.218-1.348`}),(0,u.createElementVNode)(`path`,{d:`M16 6h6`}),(0,u.createElementVNode)(`path`,{d:`M19 3v6`})],-1)]]),_:1},8,[`modelValue`,`onUpdate:modelValue`,`options`,`onChange`])]),(0,u.createVNode)((0,u.unref)(Rr),{modelValue:e.operator,"onUpdate:modelValue":t=>e.operator=t,options:f(e.field),placeholder:`选择`,class:`w-[110px] shrink-0`},null,8,[`modelValue`,`onUpdate:modelValue`,`options`]),(0,u.createElementVNode)(`div`,Oi,[p(e.field)===`number`?((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(pt),{key:0,"model-value":h(e),class:(0,u.normalizeClass)([`w-full!`,{"border-red-500!":S(e)}]),placeholder:`值`,"onUpdate:modelValue":t=>g(e,t)},null,8,[`model-value`,`class`,`onUpdate:modelValue`])):p(e.field)===`date`?((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(oi),{key:1,modelValue:e.value,"onUpdate:modelValue":t=>e.value=t,class:`w-full`,invalid:S(e)},null,8,[`modelValue`,`onUpdate:modelValue`,`invalid`])):p(e.field)===`datetime`?((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(hi),{key:2,modelValue:e.value,"onUpdate:modelValue":t=>e.value=t,class:`w-full`,invalid:S(e)},null,8,[`modelValue`,`onUpdate:modelValue`,`invalid`])):p(e.field)===`select`?((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(Rr),{key:3,modelValue:e.value,"onUpdate:modelValue":t=>e.value=t,options:m(e.field),placeholder:`请选择`,class:`w-full`,invalid:S(e)},null,8,[`modelValue`,`onUpdate:modelValue`,`options`,`invalid`])):p(e.field)===`multi_select`?((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(Rr),{key:4,"model-value":_(e),multiple:``,options:m(e.field),placeholder:`请选择`,class:`w-full`,invalid:S(e),"onUpdate:modelValue":t=>v(e,Array.isArray(t)?t:[])},null,8,[`model-value`,`options`,`invalid`,`onUpdate:modelValue`])):p(e.field)===`boolean`?((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(Rr),{key:5,modelValue:e.value,"onUpdate:modelValue":t=>e.value=t,options:d,placeholder:`请选择`,class:`w-full`,invalid:S(e)},null,8,[`modelValue`,`onUpdate:modelValue`,`invalid`])):((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(xt),{key:6,modelValue:e.value,"onUpdate:modelValue":t=>e.value=t,type:`text`,placeholder:`值`,class:(0,u.normalizeClass)([`w-full`,{"border-red-500!":S(e)}])},null,8,[`modelValue`,`onUpdate:modelValue`,`class`]))]),(0,u.createElementVNode)(`button`,{type:`button`,class:`inline-flex size-6 shrink-0 cursor-pointer items-center justify-center rounded-md text-slate-400 transition-colors hover:bg-[hsl(210_40%_96.1%)] hover:text-slate-700`,"aria-label":`删除条件`,title:`删除条件`,onClick:e=>E(n,r)},[...t[8]||=[(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`size-4`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,u.createElementVNode)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,u.createElementVNode)(`path`,{d:`M8 12h8`})],-1)]],8,ki)])]))),128))],512),[[u.vShow,!e.collapsed]])])],64))),128)),r.value.length>0?((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{key:1,type:`button`,class:`inline-flex h-8 cursor-pointer items-center justify-center gap-1 rounded-lg border border-dashed border-slate-200 bg-white px-3.5 py-2 text-[13px] font-medium text-slate-500 transition hover:border-slate-400 hover:bg-slate-100`,onClick:w},[...t[9]||=[(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`size-4`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,u.createElementVNode)(`path`,{d:`M5 12h14`}),(0,u.createElementVNode)(`path`,{d:`M12 5v14`})],-1),(0,u.createTextVNode)(` 添加条件组 `,-1)]])):(0,u.createCommentVNode)(``,!0)])],512)]),_:1},8,[`target-el`]))}}),ji=[`data-open`],Mi=[`disabled`,`aria-label`],Ni={key:0,class:`pointer-events-none fixed inset-0 z-[9999] bg-transparent`},Pi=[`data-state`,`data-placement`],Fi={class:`border-b border-slate-100 p-2`},Ii={class:`flex h-[240px]`},Li=[`onClick`],Ri={key:0,class:`size-2 rounded-full bg-brand-600`},zi={class:`min-w-0 flex-1`},Bi={class:`block text-sm font-medium leading-5 text-foreground truncate`},Vi={key:0,class:`block text-xs leading-4 text-muted-foreground truncate`},Hi={key:0,class:`h-full min-w-0 flex-1`},Ui={class:`px-3 pb-1 pt-2 text-xs text-muted-foreground`},Wi=[`onClick`],Gi={class:`flex size-5 shrink-0 items-center justify-center rounded-full bg-brand-100 text-[10px] font-medium text-brand-700`},Ki={class:`truncate text-sm text-foreground`},qi={class:`px-3 pb-1 pt-2 text-xs text-muted-foreground`},Ji=[`onClick`],Yi={class:`flex size-5 shrink-0 items-center justify-center rounded-full bg-sky-100 text-[10px] font-medium text-sky-700`},Xi={class:`truncate text-sm text-foreground`},Zi={class:`px-3 pb-1 pt-2 text-xs text-muted-foreground`},Qi=[`onClick`],$i={class:`flex size-5 shrink-0 items-center justify-center rounded-full bg-violet-100 text-[10px] font-medium text-violet-700`},ea={class:`truncate text-sm text-foreground`},ta={key:3,class:`flex h-[200px] items-center justify-center text-sm text-muted-foreground`},na={key:0,class:`flex h-full items-center justify-center py-6`},ra={key:1,class:`flex h-full`},ia={class:`w-[210px] shrink-0 border-r border-slate-100`},aa={class:`min-w-0 flex-1`},oa={key:0,class:`flex h-full items-center justify-center py-6`},sa=[`onClick`],ca={key:0,viewBox:`0 0 24 24`,class:`size-3 text-white`,fill:`none`,stroke:`currentColor`,"stroke-width":`3`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},la={class:`truncate`},ua={key:0,class:`flex h-full items-center justify-center py-6`},da={key:0,class:`flex h-full items-center justify-center py-6`},fa=[`onClick`],pa={key:0,viewBox:`0 0 24 24`,class:`size-3 text-white`,fill:`none`,stroke:`currentColor`,"stroke-width":`3`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},ma={class:`flex-1 truncate`},ha={key:0,class:`flex items-center gap-2 border-t border-slate-100 px-3 py-2`},ga={class:`mr-auto flex min-w-0 flex-1 items-center gap-1.5`},_a=[`onClick`],va={key:0,class:`shrink-0 rounded-full bg-slate-100 px-2 py-0.5 text-xs text-slate-500`},$=0,ya=1,ba=2,xa=Xe((0,u.defineComponent)({__name:`NodeConfigInitiatorPicker`,props:{items:{default:()=>[{value:1,label:`指定成员`,description:`选择具体发起人`},{value:7,label:`指定部门`,description:`按部门匹配发起人`},{value:3,label:`指定角色`,description:`按角色匹配发起人`}]},roles:{default:()=>[]},orgTree:{default:()=>[]},people:{default:()=>[]},placeholder:{default:`搜索人员、部门、角色名称`},disabled:{type:Boolean,default:!1},selectedEntries:{default:()=>[]}},emits:[`confirm`],setup(e,{emit:t}){let n={1:$,7:ba,3:ya},r=e,i=t,a=(0,u.ref)(null),o=(0,u.ref)(null),s=(0,u.ref)(!1),c=(0,u.ref)(`closed`),l;function f(){l&&=(clearTimeout(l),void 0),s.value=!0,c.value=`closed`,(0,u.nextTick)(h),requestAnimationFrame(()=>{c.value=`open`})}function p(){c.value=`closed`,l=window.setTimeout(()=>{s.value=!1,l=void 0},210)}let m=(0,u.ref)(null);function h(){let e=a.value;if(!e)return;let t=e.getBoundingClientRect();m.value={left:t.left,top:t.top,right:t.right,bottom:t.bottom,width:t.width,height:t.height}}let{height:g}=(0,d.useElementSize)(o),{width:_,height:v}=(0,d.useWindowSize)(),y=(0,u.ref)(``),b=(0,u.ref)(null),x=(0,u.ref)([]),S=(0,u.ref)(null),C=(0,u.ref)(!1),w=(0,u.ref)(null),T=(0,u.ref)(null),E=(0,u.ref)(null),D=(0,u.ref)(null),ee=(0,u.ref)(null),O=(0,u.ref)(null);function k(){let e=S.value;C.value=e?e.scrollWidth>e.clientWidth+1:!1}let A=(0,u.computed)(()=>r.items.find(e=>String(e.value)===String(b.value))??null),j=(0,u.computed)(()=>{let e=y.value.trim().toLowerCase();if(!e)return null;let t=[],n=r=>{r.forEach(r=>{r.name.toLowerCase().includes(e)&&t.push({id:r.id,name:r.name,actorType:ba}),r.children?.length&&n(r.children)})};return n(r.orgTree),{people:r.people.filter(t=>t.name.toLowerCase().includes(e)).map(e=>({...e,actorType:$})),departments:t,roles:r.roles.filter(t=>t.name.toLowerCase().includes(e)).map(e=>({id:e.id,name:e.name,actorType:ya}))}}),M=(0,u.computed)(()=>A.value!==null||j.value!==null),N=(0,u.computed)(()=>{let e=r.selectedEntries[0];if(!e)return[];let t=r.items.find(t=>n[String(t.value)]===Number(e.actorType));return t?[t.label]:[]}),P=(0,u.computed)(()=>M.value?560:210),F=(0,u.computed)(()=>x.value.length),I=(0,u.ref)(!1);function L(){return x.value.length>0}(0,u.watch)([F,P,M],()=>{(0,u.nextTick)(k)});let R=(0,u.computed)(()=>{let e=P.value,t=g.value||300,n=m.value;if(!n)return{left:`0px`,top:`0px`,arrowLeft:`20px`,placement:`bottom`};let r=n.left;r+e+8>_.value&&(r=_.value-e-8),r=Math.max(8,r);let i=n.bottom+6,a=`bottom`;i+t+8>v.value&&(i=n.top-t-6,a=`top`),i=Math.max(8,i);let o=Math.max(12,Math.min(n.left+n.width/2-r,e-12));return{left:`${Math.round(r)}px`,top:`${Math.round(i)}px`,arrowLeft:`${o}px`,placement:a}});(0,u.watch)(P,()=>{s.value&&(0,u.nextTick)(h)});let z=(0,u.ref)(new Set),B=(0,u.ref)(null);function V(e){e.forEach(e=>{z.value.add(e.id),e.children?.length&&V(e.children)})}(0,u.watch)(()=>r.orgTree,e=>{z.value=new Set,V(e),B.value=e[0]?.id??null},{immediate:!0});function H(e,t){let n=[...e];for(;n.length;){let e=n.pop();if(e.id===t){let t=new Set,n=e=>{e.forEach(e=>{e.memberIds?.forEach(e=>t.add(e)),e.children?.length&&n(e.children)})};return n([e]),t}e.children?.length&&n.push(...e.children)}return null}let te=(0,u.computed)(()=>{if(!B.value)return r.people;let e=H(r.orgTree,B.value);return e?r.people.filter(t=>e.has(t.id)):r.people});function ne(e,t,n=[]){for(let r of e){let e=[...n,r.id];if(r.memberIds?.includes(t))return e;if(r.children?.length){let n=ne(r.children,t,e);if(n)return n}}return null}function re(e){let t=ne(r.orgTree,e);if(!t)return;let n=new Set(z.value);t.forEach(e=>n.add(e)),z.value=n,B.value=t[t.length-1]}function ie(e,t){return`${e}:${t}`}function U(e,t){return x.value.some(n=>n.id===t&&Number(n.actorType)===e)}function W(e){let t=Number(e.actorType??$),n=x.value.findIndex(n=>n.id===e.id&&Number(n.actorType)===t);n>=0?x.value.splice(n,1):x.value.push({id:e.id,name:e.name,actorType:t})}function ae(e){W({id:e.id,name:e.name,actorType:$})}function G(e){W({id:e.id,name:e.name,actorType:ya})}let K=(0,u.computed)(()=>x.value.filter(e=>Number(e.actorType)===ba).map(e=>e.id));function oe(e){x.value=e.map(e=>({id:e,name:Lt(r.orgTree,e)?.name??e,actorType:ba}))}function q(e){x.value=x.value.filter(t=>t.id!==e.id||Number(t.actorType)!==Number(e.actorType))}function se(){if(r.disabled)return;if(s.value){p(),b.value=null,y.value=``;return}let e=r.selectedEntries[0];b.value=e?r.items.find(t=>n[String(t.value)]===Number(e.actorType))?.value??null:null,x.value=r.selectedEntries.map(e=>({...e})),y.value=``,f()}function ce(e){String(b.value)!==String(e.value)&&(x.value=[]),b.value=e.value,y.value=``,I.value=!1}function le(e){let t=Number(e.actorType??$),i=r.items.find(e=>n[String(e.value)]===t);if(!i)return;let a=b.value==null?null:n[String(b.value)];a!==null&&a!==t&&(x.value=[]),b.value=i.value,U(t,e.id)||(t===ba?oe(Ht(r.orgTree,K.value,e.id,!0)):W(e)),t===$&&re(e.id),y.value=``}function ue(){if(!L()){I.value=!0;return}i(`confirm`,x.value.map(e=>({...e}))),p(),b.value=null,y.value=``,I.value=!1}function J(e){if(!s.value)return;let t=e.target;t instanceof Element&&(o.value?.contains(t)||a.value?.contains(t)||(p(),b.value=null))}return(0,u.watch)(s,e=>{e?document.addEventListener(`pointerdown`,J,!0):document.removeEventListener(`pointerdown`,J,!0)}),(0,d.useEventListener)(`keydown`,e=>{s.value&&e.key===`Escape`&&(p(),b.value=null,y.value=``)}),(0,d.useEventListener)(`resize`,()=>{s.value&&h()}),(0,d.useEventListener)(`scroll`,()=>{s.value&&h()},{capture:!0}),(0,d.useResizeObserver)(S,k),(0,u.onBeforeUnmount)(()=>{l&&=(clearTimeout(l),void 0),document.removeEventListener(`pointerdown`,J,!0)}),(t,n)=>((0,u.openBlock)(),(0,u.createElementBlock)(`div`,{class:`relative inline-flex`,"data-open":s.value},[(0,u.createElementVNode)(`button`,{ref_key:`triggerBtnRef`,ref:a,type:`button`,disabled:e.disabled,class:(0,u.normalizeClass)([`inline-flex h-9 min-w-9 cursor-pointer items-center justify-center overflow-hidden rounded-full border px-2.5 transition-all duration-200 disabled:cursor-not-allowed disabled:opacity-50`,N.value.length>0?[`border-brand-100 bg-brand-50 text-brand-700 hover:border-brand-200 hover:bg-brand-100`,{"border-brand-300 bg-brand-100":s.value}]:[`border-slate-200 bg-white text-slate-500 hover:border-dashed hover:border-brand-500 hover:bg-brand-50 hover:text-brand-600`,{"border-dashed border-brand-500 bg-brand-50 text-brand-600":s.value}]]),"aria-label":N.value.length>0?`已选择 ${N.value.join(`、`)},点击修改`:`选择发起人`,onClick:se},[((0,u.openBlock)(),(0,u.createElementBlock)(`svg`,{viewBox:`0 0 24 24`,class:(0,u.normalizeClass)([`h-4 shrink-0 overflow-hidden transition-all duration-200`,N.value.length>0?`w-0 opacity-0`:`w-4 opacity-100`]),fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[...n[4]||=[(0,u.createElementVNode)(`path`,{d:`M12 5v14`},null,-1),(0,u.createElementVNode)(`path`,{d:`M5 12h14`},null,-1)]],2)),(0,u.createElementVNode)(`span`,{class:(0,u.normalizeClass)([`overflow-hidden whitespace-nowrap text-[13px] leading-none transition-all duration-200`,N.value.length>0?`max-w-[160px] opacity-100`:`max-w-0 opacity-0`])},(0,u.toDisplayString)(N.value.join(`、`)),3),((0,u.openBlock)(),(0,u.createElementBlock)(`svg`,{viewBox:`0 0 24 24`,class:(0,u.normalizeClass)([`shrink-0 overflow-hidden transition-all duration-200`,[N.value.length>0?`ml-1.5 w-3.5 opacity-100`:`ml-0 w-0 opacity-0`,{"rotate-210":s.value}]]),fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[...n[5]||=[(0,u.createElementVNode)(`path`,{d:`m6 9 6 6 6-6`},null,-1)]],2))],10,Mi),((0,u.openBlock)(),(0,u.createBlock)(u.Teleport,{to:`body`},[s.value?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,Ni,[(0,u.createElementVNode)(`div`,{ref_key:`dropdownRef`,ref:o,class:(0,u.normalizeClass)([`picker-panel pointer-events-auto absolute rounded-lg border border-slate-200 bg-white shadow-[0_20px_50px_rgba(15,23,42,0.16)]`,P.value===560?`w-[560px]`:`w-[210px]`]),"data-state":c.value,"data-placement":R.value.placement,style:(0,u.normalizeStyle)({left:R.value.left,top:R.value.top,"--arrow-left":R.value.arrowLeft})},[n[16]||=(0,u.createElementVNode)(`span`,{class:`picker-arrow`,"aria-hidden":`true`},null,-1),(0,u.createElementVNode)(`div`,Fi,[(0,u.createVNode)((0,u.unref)(xt),{modelValue:y.value,"onUpdate:modelValue":n[0]||=e=>y.value=e,placeholder:e.placeholder,onKeydown:n[1]||=(0,u.withKeys)(e=>c.value=`closed`,[`esc`])},{prefix:(0,u.withCtx)(()=>[...n[6]||=[(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`size-4 text-slate-400`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,u.createElementVNode)(`circle`,{cx:`11`,cy:`11`,r:`8`}),(0,u.createElementVNode)(`path`,{d:`m21 21-4.3-4.3`})],-1)]]),_:1},8,[`modelValue`,`placeholder`])]),(0,u.createElementVNode)(`div`,Ii,[(0,u.createElementVNode)(`div`,{class:(0,u.normalizeClass)(M.value?`w-[210px] shrink-0 border-r border-slate-100`:`w-full`)},[(0,u.createVNode)((0,u.unref)(X),{"target-el":w.value,class:`h-full`},{default:(0,u.withCtx)(()=>[(0,u.createElementVNode)(`div`,{ref_key:`typeListScrollRef`,ref:w,class:`scrollbar-hide h-full overflow-auto py-1`},[((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(e.items,e=>((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{key:String(e.value),type:`button`,class:(0,u.normalizeClass)([`group flex w-full cursor-pointer items-center gap-2 px-2.5 py-2 text-left transition-colors hover:bg-slate-50`,String(b.value)===String(e.value)?`bg-brand-50/60`:``]),onClick:t=>ce(e)},[(0,u.createElementVNode)(`span`,{class:(0,u.normalizeClass)([`inline-flex size-4 shrink-0 items-center justify-center rounded-full border border-slate-300 transition-colors`,{"border-brand-600":String(b.value)===String(e.value)}])},[String(b.value)===String(e.value)?((0,u.openBlock)(),(0,u.createElementBlock)(`span`,Ri)):(0,u.createCommentVNode)(``,!0)],2),(0,u.createElementVNode)(`span`,zi,[(0,u.createElementVNode)(`span`,Bi,(0,u.toDisplayString)(e.label),1),e.description?((0,u.openBlock)(),(0,u.createElementBlock)(`span`,Vi,(0,u.toDisplayString)(e.description),1)):(0,u.createCommentVNode)(``,!0)]),n[7]||=(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`size-4 shrink-0 text-slate-300 transition-colors group-hover:text-brand-500`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,u.createElementVNode)(`path`,{d:`m9 18 6-6-6-6`})],-1)],10,Li))),128))],512)]),_:1},8,[`target-el`])],2),M.value?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,Hi,[j.value?((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(X),{key:0,"target-el":T.value,class:`h-full`},{default:(0,u.withCtx)(()=>[(0,u.createElementVNode)(`div`,{ref_key:`searchScrollRef`,ref:T,class:`scrollbar-hide h-full overflow-auto py-1`},[j.value.people.length>0?((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:0},[(0,u.createElementVNode)(`div`,Ui,`人员(`+(0,u.toDisplayString)(j.value.people.length)+`)`,1),((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(j.value.people,e=>((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{key:`search-p-${e.id}`,type:`button`,class:`flex w-full cursor-pointer items-center gap-2 px-3 py-2 text-left transition-colors hover:bg-brand-50`,onClick:t=>le(e)},[(0,u.createElementVNode)(`span`,Gi,(0,u.toDisplayString)(e.name.slice(0,1)),1),(0,u.createElementVNode)(`span`,Ki,(0,u.toDisplayString)(e.name),1),n[8]||=(0,u.createElementVNode)(`span`,{class:`ml-auto shrink-0 text-xs text-muted-foreground`},`成员`,-1)],8,Wi))),128))],64)):(0,u.createCommentVNode)(``,!0),j.value.departments.length>0?((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:1},[(0,u.createElementVNode)(`div`,qi,`部门(`+(0,u.toDisplayString)(j.value.departments.length)+`)`,1),((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(j.value.departments,e=>((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{key:`search-d-${e.id}`,type:`button`,class:`flex w-full cursor-pointer items-center gap-2 px-3 py-2 text-left transition-colors hover:bg-brand-50`,onClick:t=>le(e)},[(0,u.createElementVNode)(`span`,Yi,(0,u.toDisplayString)(e.name.slice(0,1)),1),(0,u.createElementVNode)(`span`,Xi,(0,u.toDisplayString)(e.name),1),n[9]||=(0,u.createElementVNode)(`span`,{class:`ml-auto shrink-0 text-xs text-muted-foreground`},`部门`,-1)],8,Ji))),128))],64)):(0,u.createCommentVNode)(``,!0),j.value.roles.length>0?((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:2},[(0,u.createElementVNode)(`div`,Zi,`角色(`+(0,u.toDisplayString)(j.value.roles.length)+`)`,1),((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(j.value.roles,e=>((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{key:`search-r-${e.id}`,type:`button`,class:`flex w-full cursor-pointer items-center gap-2 px-3 py-2 text-left transition-colors hover:bg-brand-50`,onClick:t=>le(e)},[(0,u.createElementVNode)(`span`,$i,(0,u.toDisplayString)(e.name.slice(0,1)),1),(0,u.createElementVNode)(`span`,ea,(0,u.toDisplayString)(e.name),1),n[10]||=(0,u.createElementVNode)(`span`,{class:`ml-auto shrink-0 text-xs text-muted-foreground`},`角色`,-1)],8,Qi))),128))],64)):(0,u.createCommentVNode)(``,!0),j.value.people.length===0&&j.value.departments.length===0&&j.value.roles.length===0?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,ta,` 未找到匹配的人员、部门或角色 `)):(0,u.createCommentVNode)(``,!0)],512)]),_:1},8,[`target-el`])):A.value&&Number(A.value.value)===1?((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:1},[e.orgTree.length===0?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,na,[(0,u.createVNode)((0,u.unref)(Z))])):((0,u.openBlock)(),(0,u.createElementBlock)(`div`,ra,[(0,u.createElementVNode)(`div`,ia,[(0,u.createVNode)((0,u.unref)(X),{"target-el":E.value,class:`h-full`},{default:(0,u.withCtx)(()=>[(0,u.createElementVNode)(`div`,{ref_key:`orgScrollRef`,ref:E,class:`scrollbar-hide h-full overflow-auto py-1`},[(0,u.createVNode)((0,u.unref)(Gt),{data:e.orgTree,"active-id":B.value,"expanded-keys":Array.from(z.value),"onUpdate:activeId":n[2]||=e=>B.value=e,"onUpdate:expandedKeys":n[3]||=e=>z.value=new Set(e)},null,8,[`data`,`active-id`,`expanded-keys`])],512)]),_:1},8,[`target-el`])]),(0,u.createElementVNode)(`div`,aa,[te.value.length===0?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,oa,[(0,u.createVNode)((0,u.unref)(Z))])):((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(X),{key:1,"target-el":D.value,class:`h-full`},{default:(0,u.withCtx)(()=>[(0,u.createElementVNode)(`div`,{ref_key:`peopleScrollRef`,ref:D,class:`scrollbar-hide h-full overflow-auto py-1`},[((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(te.value,e=>((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{key:e.id,type:`button`,class:(0,u.normalizeClass)([`flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors hover:bg-slate-50`,U($,e.id)?`bg-brand-50/60 text-foreground`:`text-foreground`]),onClick:t=>ae(e)},[(0,u.createElementVNode)(`span`,{class:(0,u.normalizeClass)([`inline-flex size-4 shrink-0 items-center justify-center rounded border transition-colors`,U($,e.id)?`border-brand-600 bg-brand-600`:`border-slate-300`])},[U($,e.id)?((0,u.openBlock)(),(0,u.createElementBlock)(`svg`,ca,[...n[11]||=[(0,u.createElementVNode)(`path`,{d:`M20 6 9 17l-5-5`},null,-1)]])):(0,u.createCommentVNode)(``,!0)],2),(0,u.createElementVNode)(`span`,la,(0,u.toDisplayString)(e.name),1)],10,sa))),128))],512)]),_:1},8,[`target-el`]))])]))],64)):A.value&&Number(A.value.value)===7?((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:2},[e.orgTree.length===0?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,ua,[(0,u.createVNode)((0,u.unref)(Z))])):((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(X),{key:1,"target-el":ee.value,class:`h-full`},{default:(0,u.withCtx)(()=>[(0,u.createElementVNode)(`div`,{ref_key:`deptScrollRef`,ref:ee,class:`scrollbar-hide h-full overflow-auto py-1`},[(0,u.createVNode)((0,u.unref)(Gt),{data:e.orgTree,checkable:``,"checked-keys":K.value,"onUpdate:checkedKeys":oe},null,8,[`data`,`checked-keys`])],512)]),_:1},8,[`target-el`]))],64)):A.value&&Number(A.value.value)===3?((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:3},[e.roles.length===0?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,da,[(0,u.createVNode)((0,u.unref)(Z))])):((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(X),{key:1,"target-el":O.value,class:`h-full`},{default:(0,u.withCtx)(()=>[(0,u.createElementVNode)(`div`,{ref_key:`roleScrollRef`,ref:O,class:`scrollbar-hide h-full overflow-auto py-1`},[((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(e.roles,e=>((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{key:e.id,type:`button`,class:(0,u.normalizeClass)([`flex w-full cursor-pointer items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors hover:bg-slate-50`,U(ya,e.id)?`bg-brand-50/60 text-foreground`:`text-foreground`]),onClick:t=>G(e)},[(0,u.createElementVNode)(`span`,{class:(0,u.normalizeClass)([`inline-flex size-4 shrink-0 items-center justify-center rounded border transition-colors`,U(ya,e.id)?`border-brand-600 bg-brand-600`:`border-slate-300`])},[U(ya,e.id)?((0,u.openBlock)(),(0,u.createElementBlock)(`svg`,pa,[...n[12]||=[(0,u.createElementVNode)(`path`,{d:`M20 6 9 17l-5-5`},null,-1)]])):(0,u.createCommentVNode)(``,!0)],2),(0,u.createElementVNode)(`span`,ma,(0,u.toDisplayString)(e.name),1)],10,fa))),128))],512)]),_:1},8,[`target-el`]))],64)):(0,u.createCommentVNode)(``,!0)])):(0,u.createCommentVNode)(``,!0)]),M.value?((0,u.openBlock)(),(0,u.createElementBlock)(`div`,ha,[(0,u.createElementVNode)(`div`,ga,[(0,u.createElementVNode)(`div`,{ref_key:`tagsScrollRef`,ref:S,class:`flex min-w-0 flex-1 items-center gap-1.5 overflow-hidden whitespace-nowrap`},[n[14]||=(0,u.createElementVNode)(`span`,{class:`shrink-0 text-xs text-muted-foreground`},`已选择:`,-1),((0,u.openBlock)(!0),(0,u.createElementBlock)(u.Fragment,null,(0,u.renderList)(x.value,e=>((0,u.openBlock)(),(0,u.createElementBlock)(`span`,{key:ie(Number(e.actorType),e.id),class:`inline-flex shrink-0 items-center gap-1 rounded-full border border-brand-100 bg-brand-50 px-2 py-0.5 text-xs text-brand-700`},[(0,u.createTextVNode)((0,u.toDisplayString)(e.name)+` `,1),(0,u.createElementVNode)(`button`,{type:`button`,class:`text-brand-400 hover:text-brand-700`,onClick:t=>q(e)},[...n[13]||=[(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`size-3`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,u.createElementVNode)(`path`,{d:`M18 6 6 18`}),(0,u.createElementVNode)(`path`,{d:`m6 6 12 12`})],-1)]],8,_a)]))),128)),x.value.length===0?((0,u.openBlock)(),(0,u.createElementBlock)(`span`,{key:0,class:(0,u.normalizeClass)([`text-xs`,I.value?`text-red-500 font-medium`:`text-muted-foreground`])},`未选择`,2)):(0,u.createCommentVNode)(``,!0)],512),F.value>0&&C.value?((0,u.openBlock)(),(0,u.createElementBlock)(`span`,va,` 共`+(0,u.toDisplayString)(F.value)+`个 `,1)):(0,u.createCommentVNode)(``,!0)]),(0,u.createElementVNode)(`button`,{type:`button`,class:`inline-flex h-7 shrink-0 cursor-pointer items-center justify-center rounded-md bg-brand-600 px-3 text-[13px] font-medium text-white transition hover:bg-brand-700`,onClick:ue},[...n[15]||=[(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`size-3.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,u.createElementVNode)(`path`,{d:`M20 6 9 17l-5-5`})],-1)]])])):(0,u.createCommentVNode)(``,!0)],14,Pi)])):(0,u.createCommentVNode)(``,!0)]))],8,ji))}}),[[`__scopeId`,`data-v-546ff3ce`]]),Sa={class:`flex h-full min-h-0 flex-col gap-5`},Ca={class:`space-y-4`},wa=(0,u.defineComponent)({__name:`StartNodeConfig`,props:{payload:{},context:{}},setup(e,{expose:t}){let n=e,r=(0,u.ref)([]);function i(){let e=Array.isArray(n.payload.nodeAssigneeList)?n.payload.nodeAssigneeList:[];r.value=e.map(e=>({id:e.id,name:e.name,actorType:e.actorType??+!!n.context.roles.some(t=>t.id===e.id)}))}(0,u.watch)(()=>n.payload,()=>i(),{immediate:!0});function a(e){r.value=e.map(e=>({...e}))}function o(e){r.value=r.value.filter(t=>t.id!==e)}function s(){return{nodeAssigneeList:r.value.map(e=>({id:e.id,name:e.name,actorType:e.actorType}))}}return t({getPatch:s}),(t,n)=>((0,u.openBlock)(),(0,u.createElementBlock)(`div`,Sa,[(0,u.createElementVNode)(`section`,Ca,[n[0]||=(0,u.createElementVNode)(`h3`,{class:`flex items-center gap-2 text-sm font-semibold text-slate-900`},[(0,u.createElementVNode)(`span`,{class:`h-4 w-1 rounded-full bg-brand-500`,"aria-hidden":`true`}),(0,u.createElementVNode)(`span`,null,`发起人配置`)],-1),(0,u.createVNode)(xa,{roles:e.context.roles,"org-tree":e.context.orgTree,people:e.context.people,"selected-entries":r.value,placeholder:`搜索人员、部门、角色名称`,onConfirm:a},null,8,[`roles`,`org-tree`,`people`,`selected-entries`]),n[1]||=(0,u.createElementVNode)(`p`,{class:`text-sm leading-5 text-slate-500`},` 提示:不指定则默认所有人都可发起此审批 `,-1),(0,u.createVNode)(Hn,{items:r.value,"remove-label":`删除`,onRemove:o},null,8,[`items`])])]))}}),Ta={class:`flex h-full min-h-0 flex-col gap-6`},Ea={class:`space-y-3`},Da={class:`flex items-center gap-2`},Oa=[{type:0,kind:`start`,title:`发起人`,description:`配置发起人`,component:wa},{type:1,kind:`approval`,title:`审批节点`,description:`配置审批规则`,component:Sr},{type:2,kind:`cc`,title:`抄送节点`,description:`配置抄送规则`,component:Dr},{type:3,kind:`condition`,title:`分支条件`,description:`配置分支条件`,component:Ai},{type:6,kind:`timer`,title:`延迟时间`,description:`配置延迟时间`,component:(0,u.defineComponent)({__name:`TimerNodeConfig`,props:{payload:{},context:{}},setup(e,{expose:t}){let n=e,r=(0,u.ref)(null),i=(0,u.ref)(`day`),a=[{value:`day`,label:`天`},{value:`hour`,label:`小时`},{value:`minute`,label:`分钟`}];function o(e){let t=Number(e);return Number.isFinite(t)&&t>=0?t:null}function s(e){return e===`hour`||e===`minute`||e===`day`?e:`day`}function c(){r.value=o(n.payload.delayTime),i.value=s(n.payload.delayUnit)}(0,u.watch)(()=>n.payload,()=>c(),{immediate:!0});function l(){return{delayTime:r.value,delayUnit:i.value}}return t({getPatch:l}),(e,t)=>((0,u.openBlock)(),(0,u.createElementBlock)(`div`,Ta,[(0,u.createElementVNode)(`section`,Ea,[t[4]||=(0,u.createElementVNode)(`h3`,{class:`flex items-center gap-2 text-sm font-semibold text-slate-900`},[(0,u.createElementVNode)(`span`,{class:`h-4 w-1 rounded-full bg-brand-500`,"aria-hidden":`true`}),(0,u.createElementVNode)(`span`,null,`延迟时间`)],-1),(0,u.createElementVNode)(`div`,Da,[t[2]||=(0,u.createElementVNode)(`span`,{class:`text-sm text-slate-600`},`当`,-1),(0,u.createVNode)((0,u.unref)(pt),{modelValue:r.value,"onUpdate:modelValue":t[0]||=e=>r.value=e,min:0,step:1,placeholder:`请输入`},null,8,[`modelValue`]),(0,u.createVNode)((0,u.unref)(Rr),{modelValue:i.value,"onUpdate:modelValue":t[1]||=e=>i.value=e,options:a,class:`w-[120px]`},null,8,[`modelValue`]),t[3]||=(0,u.createElementVNode)(`span`,{class:`text-sm text-slate-600`},`后进入下一步`,-1)])])]))}})}],ka=Object.fromEntries(Oa.map(e=>[e.type,e]));function Aa(e=[]){return Object.fromEntries([...Oa,...e].map(e=>[e.type,e]))}function ja(e,t=ka){if(!e)return null;let n=t[e.nodeType];return!n||n.kind!==e.kind?null:n}function Ma(e,t=ka){return ja(e,t)!==null}var Na={class:`-ml-[11px] flex h-7 min-w-0 items-center gap-2`},Pa=[`onKeydown`],Fa={class:`flex h-7 min-w-0 items-center truncate rounded-md border border-transparent px-2.5 text-[15px] font-semibold leading-5 text-slate-950`},Ia={class:`flex h-full min-h-0 flex-col px-5 py-3`},La={key:1,class:`rounded-lg border border-slate-200 bg-slate-50 px-4 py-3 text-sm leading-6 text-slate-500`},Ra={class:`flex justify-end gap-2`},za=[`disabled`],Ba=(0,u.defineComponent)({__name:`index`,props:{modelValue:{type:Boolean},payload:{},roles:{default:()=>[]},orgTree:{default:()=>[]},people:{default:()=>[]},approvalPersonTypes:{default:()=>[]},approvalModes:{default:()=>[]},samePersonModes:{default:()=>[]},approvalRejectStrategies:{default:()=>[]},conditionFields:{default:()=>[]},conditionOperators:{default:()=>[]},metaFormFields:{default:()=>[]},nodeConfigRegistry:{default:()=>({})}},emits:[`update:modelValue`,`save`,`title-change`],setup(e,{emit:t}){let n=e,r=t,i=(0,u.ref)(null),a=(0,u.ref)(null),o=(0,u.ref)(!1),s=(0,u.ref)(``),c=(0,u.computed)(()=>ja(n.payload,n.nodeConfigRegistry)),l=(0,u.computed)(()=>c.value?.component??null),d=(0,u.computed)(()=>({roles:n.roles,orgTree:n.orgTree,people:n.people,approvalPersonTypes:n.approvalPersonTypes,approvalModes:n.approvalModes,samePersonModes:n.samePersonModes,approvalRejectStrategies:n.approvalRejectStrategies,conditionFields:n.conditionFields,conditionOperators:n.conditionOperators,metaFormFields:n.metaFormFields})),f=(0,u.computed)(()=>n.payload?.title||h(c.value?.title)),p=(0,u.computed)(()=>h(c.value?.description)),m=(0,u.computed)(()=>n.payload?`${n.payload.nodeKey}:${n.payload.nodeType}`:`empty`);function h(e){return!e||!n.payload?``:typeof e==`function`?e(n.payload):e}function g(){r(`update:modelValue`,!1)}function _(){s.value=f.value,o.value=!1}(0,u.watch)(()=>[n.payload?.nodeKey,n.payload?.title,n.modelValue],()=>_(),{immediate:!0});async function v(){if(!n.payload)return;s.value=f.value,o.value=!0,await(0,u.nextTick)();let e=a.value;if(!e)return;let t=e.value.length;e.focus(),e.setSelectionRange(t,t)}function y(){s.value=f.value,o.value=!1}function b(){if(!o.value)return;if(!n.payload){y();return}let e=s.value.trim()||f.value,t=f.value;s.value=e,o.value=!1,e!==t&&r(`title-change`,{nodeId:n.payload.nodeId,nodeKey:n.payload.nodeKey,nodeType:n.payload.nodeType,kind:n.payload.kind,title:e})}function x(){if(!n.payload||!c.value)return;let e=i.value?.getPatch();e&&r(`save`,{...n.payload,patch:e})}return(t,n)=>((0,u.openBlock)(),(0,u.createBlock)((0,u.unref)(it),{"model-value":e.modelValue,title:f.value,description:p.value,"onUpdate:modelValue":n[1]||=e=>t.$emit(`update:modelValue`,e)},{title:(0,u.withCtx)(()=>[(0,u.createElementVNode)(`div`,Na,[o.value?(0,u.withDirectives)(((0,u.openBlock)(),(0,u.createElementBlock)(`input`,{key:0,ref_key:`titleInputRef`,ref:a,"onUpdate:modelValue":n[0]||=e=>s.value=e,type:`text`,class:`h-7 min-w-0 flex-1 rounded-md border border-slate-200 bg-white px-2.5 text-[15px] font-semibold leading-5 text-slate-950 outline-none transition placeholder:text-slate-400`,onBlur:b,onKeydown:[(0,u.withKeys)((0,u.withModifiers)(b,[`prevent`]),[`enter`]),(0,u.withKeys)((0,u.withModifiers)(y,[`prevent`]),[`esc`])]},null,40,Pa)),[[u.vModelText,s.value]]):((0,u.openBlock)(),(0,u.createElementBlock)(u.Fragment,{key:1},[(0,u.createElementVNode)(`h2`,Fa,(0,u.toDisplayString)(f.value),1),e.payload?((0,u.openBlock)(),(0,u.createElementBlock)(`button`,{key:0,type:`button`,class:`inline-flex size-7 shrink-0 cursor-pointer items-center justify-center rounded-md text-slate-500 transition hover:bg-slate-100 hover:text-slate-900`,"aria-label":`编辑标题`,onClick:v},[...n[2]||=[(0,u.createElementVNode)(`svg`,{viewBox:`0 0 24 24`,class:`size-4`,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[(0,u.createElementVNode)(`path`,{d:`M12 20h9`}),(0,u.createElementVNode)(`path`,{d:`M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z`})],-1)]])):(0,u.createCommentVNode)(``,!0)],64))])]),footer:(0,u.withCtx)(()=>[(0,u.createElementVNode)(`div`,Ra,[(0,u.createElementVNode)(`button`,{type:`button`,class:`inline-flex h-8 cursor-pointer items-center justify-center rounded-lg border border-slate-200 bg-white px-3.5 py-2 text-[13px] font-medium leading-4 text-slate-700 transition hover:bg-slate-100`,onClick:g},` 取消 `),(0,u.createElementVNode)(`button`,{type:`button`,class:`inline-flex h-8 cursor-pointer items-center justify-center rounded-lg border border-brand-600 bg-brand-600 px-3.5 py-2 text-[13px] font-medium leading-4 text-white transition hover:border-brand-700 hover:bg-brand-700 disabled:cursor-not-allowed disabled:border-slate-300 disabled:bg-slate-300`,disabled:!l.value,onClick:x},` 保存 `,8,za)])]),default:(0,u.withCtx)(()=>[(0,u.createElementVNode)(`div`,Ia,[e.payload&&l.value?((0,u.openBlock)(),(0,u.createBlock)((0,u.resolveDynamicComponent)(l.value),{key:m.value,ref_key:`configFormRef`,ref:i,payload:e.payload,context:d.value},null,8,[`payload`,`context`])):((0,u.openBlock)(),(0,u.createElementBlock)(`div`,La,` 当前节点暂未配置表单。 `))])]),_:1},8,[`model-value`,`title`,`description`]))}}),Va=[{type:1,label:`审批节点`,description:`人工审批`},{type:2,label:`抄送节点`,description:`通知抄送`},{type:4,label:`条件分支`,description:`按条件分流`},{type:5,label:`子流程`,description:`进入子流程`},{type:6,label:`延迟等待`,description:`定时后继续`},{type:7,label:`触发器`,description:`事件触发`},{type:8,label:`并行分支`,description:`并行执行`},{type:9,label:`包容分支`,description:`多分支并存`},{type:23,label:`路由分支`,description:`特殊路由`},{type:30,label:`自动通过`,description:`自动放行`},{type:31,label:`自动拒绝`,description:`自动驳回`}],Ha=[{value:1,label:`指定成员`,description:`选择具体审批人`},{value:2,label:`部门领导`,description:`按部门层级自动选人`},{value:3,label:`角色`,description:`按角色匹配审批人`},{value:4,label:`发起人自选`,description:`由发起人自己选择`}],Ua=[{value:1,label:`顺序审批`,description:`按序依次审批`},{value:2,label:`会签`,description:`所有人审批通过`},{value:3,label:`或签`,description:`一人通过即可`}],Wa=[{value:0,label:`自己审批`,description:`由提交人处理`},{value:1,label:`自动跳过`,description:`自动略过`},{value:2,label:`转交给上级`,description:`交由上级处理`}],Ga=[{value:1,label:`发起人`,description:``},{value:2,label:`上一节点`,description:``},{value:3,label:`指定节点`,description:``},{value:4,label:`终止流程`,description:``}],Ka=[{value:`>`,label:`大于`,description:``},{value:`<`,label:`小于`,description:``},{value:`=`,label:`等于`,description:``},{value:`>=`,label:`大于等于`,description:``},{value:`<=`,label:`小于等于`,description:``},{value:`!=`,label:`不等于`,description:``},{value:`contains`,label:`包含`,description:``},{value:`notContains`,label:`不包含`,description:``}],qa=[],Ja=[-1,0,1,2,3,4,5,6,7,8,9,23,30,31];function Ya(e){return e.split(` `).filter(Boolean).map(e=>e.split(`,`).map(e=>Number(e))).filter(e=>e.length===2&&Number.isFinite(e[0])&&Number.isFinite(e[1]))}function Xa(e){if(!e.length)return{x:0,y:0};if(e.length===1)return{x:e[0][0],y:e[0][1]};let t=0,n=[];for(let r=0;r<e.length-1;r+=1){let i=e[r+1][0]-e[r][0],a=e[r+1][1]-e[r][1],o=Math.sqrt(i*i+a*a);n.push(o),t+=o}let r=t/2;for(let t=0;t<e.length-1;t+=1){let i=n[t]??0;if(r<=i){let n=i===0?0:r/i;return{x:e[t][0]+(e[t+1][0]-e[t][0])*n,y:e[t][1]+(e[t+1][1]-e[t][1])*n}}r-=i}let i=e[e.length-1];return{x:i[0],y:i[1]}}function Za(e){if(e.length<2)return Xa(e);for(let t=0;t<e.length-1;t+=1){let n=e[t],r=e[t+1];if(Math.abs(n[0]-r[0])<1)return{x:n[0],y:(n[1]+r[1])/2}}return Xa(e)}var Qa={type:`flow-process-edge`,model:class extends c.PolylineEdgeModel{initEdgeData(e){super.initEdgeData(e),this.points=this.points||``}setAttributes(){super.setAttributes(),this.isHitable=!0,this.isAnimation=!1,this.draggable=!1,this.text.editable=!1,this.text.draggable=!1}getEdgeStyle(){return{...super.getEdgeStyle(),stroke:`#cbd5e1`,strokeWidth:2}}},view:class extends c.PolylineEdge{getAppend(){return(0,c.h)(`g`,{className:`flow-edge-append flow-edge-append--disabled`,style:{pointerEvents:`none`}})}renderPlus(){let{model:e}=this.props;if(this.props.graphModel.flowOptions?.editable===!1||e.properties?.showPlus===!1)return null;let{x:t,y:n}=Za(Ya(e.points)),r=r=>{r.stopPropagation(),this.props.graphModel.eventCenter.emit(`flow:edge:plus-click`,{edgeId:e.id,sourceNodeId:e.sourceNodeId,targetNodeId:e.targetNodeId,canvasX:t,canvasY:n})};return(0,c.h)(`g`,{className:`flow-edge-plus`,style:{cursor:`pointer`,pointerEvents:`auto`},onClick:r},[(0,c.h)(`rect`,{x:t-34/2,y:n-34/2,width:34,height:34,rx:34/2,ry:34/2,fill:`#ffffff`,"fill-opacity":.001,stroke:`transparent`,style:{pointerEvents:`all`},onClick:r}),(0,c.h)(`circle`,{className:`flow-edge-plus__circle`,cx:t,cy:n,r:13,fill:`#2563eb`,style:{pointerEvents:`none`}}),(0,c.h)(`line`,{x1:t-6,y1:n,x2:t+6,y2:n,stroke:`#ffffff`,"stroke-width":2,"stroke-linecap":`round`,style:{pointerEvents:`none`}}),(0,c.h)(`line`,{x1:t,y1:n-6,x2:t,y2:n+6,stroke:`#ffffff`,"stroke-width":2,"stroke-linecap":`round`,style:{pointerEvents:`none`}})])}getEdge(){let e=super.getEdge(),t=this.renderPlus();return(0,c.h)(`g`,{},t?[e,t]:[e])}}};function $a(e){C(e),e.register(Qa)}var eo=!1;function to(e,t,n={}){let r=n.editable??!0,{nodePicker:i,events:a,interaction:o,tools:s,editable:d,miniMap:f,plugins:p,...m}=n,h=t,g=!1,_=!1,v=!1,y=null,b=null,x=null,S=null,C=null,w=n.events??{},T={...n.nodePicker?.nodeFactories??{}},E=Aa(n.nodeDrawer?.nodeConfigs),D=(0,u.reactive)({visible:!1,payload:null}),ee=(0,u.ref)(n.nodeDrawer?.roles??[]),O=(0,u.ref)(n.nodeDrawer?.orgTree??[]),k=(0,u.ref)(n.nodeDrawer?.people??[]),A=(0,u.ref)([]),j={width:130,height:90,showEdge:!1,isShowHeader:!1,isShowCloseIcon:!1,headerTitle:`导航`,bottomPosition:65,rightPosition:20,...f??{}};eo||=(c.default.use(l.MiniMap),!0);let M=(0,u.reactive)({visible:!1,insertionNodeKey:``,position:{x:0,y:0},options:n.nodePicker?.options?.length?[...n.nodePicker.options]:[...Va]}),N={container:e,nodeTextMode:c.TextMode.LABEL,isSilentMode:!0,stopMoveGraph:!0,grid:{size:20,visible:!0,type:`dot`,config:{color:`#d4dce8`}},background:{backgroundColor:`#f8fafc`},keyboard:{enabled:!0},edgeType:`polyline`,snapline:!0,history:!0,textEdit:!1,hoverOutline:!1,nodeSelectedOutline:!1,edgeSelectedOutline:!1,...m,plugins:p??[],pluginsOptions:{miniMap:j,...m.pluginsOptions}},P=new c.default(N);P.setZoomMaxSize(1.2),P.graphModel.flowOptions={...n,editable:r},P.graphModel.flowEditable=r,$a(P);let F=(n.tools??[]).includes(`zoom`),I=(n.tools??[]).includes(`MiniMap`),L=n.nodePicker?.enabled!==!1,R=n.nodeDrawer?.enabled!==!1,z=e=>e.endsWith(`-merge`)?e.slice(0,-6):e,B=()=>{M.visible=!1,M.insertionNodeKey=``},V=e=>{if(!M.insertionNodeKey)return;let t=M.insertionNodeKey,n=pe(h,t,e,T);B(),n&&(q(h),w.onNodeInsert?.({targetNodeKey:t,nodeType:e}))},H=e=>{R&&Ma(e,E)&&(D.payload=e,D.visible=!0)},te=()=>{D.visible=!1,D.payload=null},ne=e=>{let t=ve(h,e.nodeKey,e.patch);te(),t&&(q(h),w.onNodeDrawerSave?.(e))},re=e=>{ge(h,e.nodeKey,e.title)&&(D.payload=D.payload&&D.payload.nodeKey===e.nodeKey?{...D.payload,title:e.title}:D.payload,q(h),w.onNodeTitleChange?.(e))},ie=()=>{!R||C||(S=document.createElement(`div`),document.body.appendChild(S),C=(0,u.createApp)({setup(){return()=>(0,u.h)(Ba,{modelValue:D.visible,payload:D.payload,roles:ee.value,orgTree:O.value,people:k.value,approvalPersonTypes:n.nodeDrawer?.approvalPersonTypes?.length?n.nodeDrawer.approvalPersonTypes:Ha,approvalModes:n.nodeDrawer?.approvalModes?.length?n.nodeDrawer.approvalModes:Ua,samePersonModes:n.nodeDrawer?.samePersonModes?.length?n.nodeDrawer.samePersonModes:Wa,approvalRejectStrategies:n.nodeDrawer?.approvalRejectStrategies?.length?n.nodeDrawer.approvalRejectStrategies:Ga,conditionFields:n.nodeDrawer?.conditionFields?.length?n.nodeDrawer.conditionFields:qa,conditionOperators:n.nodeDrawer?.conditionOperators?.length?n.nodeDrawer.conditionOperators:Ka,metaFormFields:A.value,nodeConfigRegistry:E,"onUpdate:modelValue":e=>{D.visible=e,e||(D.payload=null)},onSave:ne,onTitleChange:re})}}),C.mount(S))},U=()=>{!L||x||(b=document.createElement(`div`),document.body.appendChild(b),x=(0,u.createApp)({setup(){return()=>(0,u.h)(Ze,{modelValue:M.visible,options:M.options,position:M.position,onClose:B,onSelect:V})}}),x.mount(b))},W=()=>{if(!y)return;let{SCALE_X:e}=P.getTransform(),t=Math.round((e||1)*100),n=y.querySelector(`[data-flow-zoom-value]`);n&&(n.textContent=`${t}%`)},ae=()=>{if(!I)return;let e=P.extension.miniMap;if(e){if(!_){e.show(),_=!0,v=!0,f?.position&&e.updatePosition(f.position);return}v&&(e.hide(),e.show(),f?.position&&e.updatePosition(f.position))}},G=()=>{!v||!f?.position||P.extension.miniMap?.updatePosition(f.position)},K=()=>{if(!F||y)return;y=document.createElement(`div`),y.setAttribute(`data-flow-zoom-toolbar`,`true`),y.style.cssText=[`position:absolute`,`right:20px`,`bottom:20px`,`z-index:30`,`display:inline-flex`,`align-items:center`,`justify-content:space-between`,`gap:0`,`width:146px`,`height:38px`,`padding:0 10px`,`border:0px solid #e2e8f0`,`border-radius:8px`,`background:#fff`,`box-shadow:0 4px 10px rgb(15 23 42 / 0.02)`,`user-select:none`,`pointer-events:auto`].join(`;`);let t=[`display:inline-flex`,`align-items:center`,`justify-content:center`,`width:22px`,`height:22px`,`border:0`,`padding:0`,`border-radius:8px`,`background:transparent`,`color:#475569`,`cursor:pointer`].join(`;`);y.innerHTML=`
|
|
200
|
+
<button type="button" data-flow-zoom-out class="flow-zoom-btn" aria-label="缩小" style="${t}">
|
|
201
|
+
<svg viewBox="0 0 24 24" aria-hidden="true" width="18" height="18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
|
|
202
|
+
<circle cx="11" cy="11" r="7"></circle>
|
|
203
|
+
<path d="M8 11h6"></path>
|
|
204
|
+
<path d="M15 15l4 4"></path>
|
|
205
|
+
</svg>
|
|
206
|
+
</button>
|
|
207
|
+
<span data-flow-zoom-value style="min-width:36px;text-align:center;font-size:14px;line-height:1;color:#334155;font-weight:500;">100%</span>
|
|
208
|
+
<button type="button" data-flow-zoom-in class="flow-zoom-btn" aria-label="放大" style="${t}">
|
|
209
|
+
<svg viewBox="0 0 24 24" aria-hidden="true" width="18" height="18" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round">
|
|
210
|
+
<circle cx="11" cy="11" r="7"></circle>
|
|
211
|
+
<path d="M8 11h6"></path>
|
|
212
|
+
<path d="M11 8v6"></path>
|
|
213
|
+
<path d="M15 15l4 4"></path>
|
|
214
|
+
</svg>
|
|
215
|
+
</button>
|
|
216
|
+
`;let n=document.createElement(`style`);n.setAttribute(`data-flow-zoom-style`,`true`),n.textContent=`
|
|
217
|
+
.flow-zoom-btn {
|
|
218
|
+
transition: background-color 0.15s ease, color 0.15s ease;
|
|
219
|
+
}
|
|
220
|
+
.flow-zoom-btn:hover {
|
|
221
|
+
background: #f1f5f9 !important;
|
|
222
|
+
}
|
|
223
|
+
.flow-zoom-btn:active {
|
|
224
|
+
background: #e2e8f0 !important;
|
|
225
|
+
}
|
|
226
|
+
`,y.appendChild(n);let r=y.querySelector(`[data-flow-zoom-out]`),i=y.querySelector(`[data-flow-zoom-in]`);r?.addEventListener(`click`,()=>{P.zoom(!1),W()}),i?.addEventListener(`click`,()=>{P.zoom(!0),W()}),e.appendChild(y),W()},oe=t=>{if(!L)return;let n=z(t.sourceNodeId),[r,i]=P.graphModel.transformModel.CanvasPointToHtmlPoint([t.canvasX??0,t.canvasY??0]),a=e.getBoundingClientRect();M.insertionNodeKey=n,M.position={x:(a?.left??0)+r,y:(a?.top??0)+i},M.visible=!0},q=(e=h)=>{h=e;let t=Ie(e);P.render(t),g||=(P.fitView(24),!0),W(),ae()},se=e=>{let t=de(h,e);return t&&q(h),t};return P.on(`flow:router:add-branch`,({nodeId:e})=>{e&&(se(e),w.onRouterAddBranch?.({nodeId:e}))}),P.on(`flow:edge:plus-click`,e=>{oe(e),w.onEdgePlusClick?.(e)}),P.on(`flow:node:click`,e=>{H(e),w.onNodeDrawerOpen?.(e),w.onNodeClick?.(e)}),P.on(`flow:node:delete`,e=>{me(h,e.nodeKey)&&(q(h),w.onNodeDelete?.(e))}),P.on(`flow:node:title-change`,e=>{ge(h,e.nodeKey,e.title)&&(q(h),w.onNodeTitleChange?.(e))}),P.on(`graph:transform`,()=>{W(),G()}),K(),U(),ie(),q(t),{lf:P,render:q,addRouterBranch:se,insertNodeAfter:(e,t)=>{let n=pe(h,e,t,T);return n&&q(h),n},deleteNode:e=>{let t=me(h,e);return t&&q(h),t},updateNodeTitle:(e,t)=>{let n=ge(h,e,t);return n&&q(h),n},updateNodeConfig:(e,t)=>{let n=ve(h,e,t);return n&&q(h),n},setMetaFormFields:e=>{A.value=Array.isArray(e)?[...e]:[]},getData:()=>P.getGraphData(),destroy:()=>{y?.remove(),y=null,x?.unmount(),x=null,b?.remove(),b=null,C?.unmount(),C=null,S?.remove(),S=null,P.destroy()}}}exports.addRouterBranch=de,exports.builtInFlowNodeConfigDefinitions=Oa,exports.builtInNodeTypes=Ja,exports.convertFlowProcessToGraphData=Ie,exports.createFlowNodeConfigRegistry=Aa,exports.createFlowNodeKey=Y,exports.createNodeByType=ke,exports.defaultApprovalModes=Ua,exports.defaultApprovalPersonTypes=Ha,exports.defaultApprovalRejectStrategies=Ga,exports.defaultConditionFields=qa,exports.defaultConditionOperators=Ka,exports.defaultNodePickerOptions=Va,exports.defaultSamePersonModes=Wa,exports.deleteFlowNode=me,exports.flowNodeConfigDefinitions=ka,exports.getFlowDesignerStats=Re,exports.getFlowNodeConfigDefinition=ja,exports.getFlowNodeKindLabel=ze,exports.insertNodeAfter=pe,exports.isFlowNodeConfigSupported=Ma,exports.registerFlowNodes=$a,exports.updateFlowNodeConfig=ve,exports.updateFlowNodeTitle=ge,exports.useFlow=to;
|