|
@@ -1,11 +1,22 @@
|
|
|
<template>
|
|
|
<transition name="slide">
|
|
|
- <div class="panel-index" v-if="WorkflowStore.panel.show">
|
|
|
- <div class="panel-header">
|
|
|
- <h3>{{ state.nodeData.title }}</h3>
|
|
|
- <div class="__hover" @click="WorkflowStore.nodePanelClose()">×</div>
|
|
|
+ <div
|
|
|
+ class="z-1000 flex h-full w-[400px] flex-col rounded-l-lg bg-white shadow"
|
|
|
+ v-if="WorkflowStore.panel.show"
|
|
|
+ >
|
|
|
+ <div class="flex items-center px-4 pt-4 font-bold">
|
|
|
+ <template v-if="nodeSources[nodeDataCpt.type]?.icon">
|
|
|
+ <img class="mr-2 size-6" :src="nodeSources[nodeDataCpt.type].icon" />
|
|
|
+ </template>
|
|
|
+ <div class="">{{ state.nodeData.title }}</div>
|
|
|
+ <div
|
|
|
+ class="__hover ml-auto text-xl"
|
|
|
+ @click="WorkflowStore.nodePanelClose()"
|
|
|
+ >
|
|
|
+ ×
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <div class="panel-sub">
|
|
|
+ <div class="panel-sub p-1.5">
|
|
|
<CzrFormColumn
|
|
|
:span="24"
|
|
|
label-width="0px"
|
|
@@ -16,7 +27,7 @@
|
|
|
:clearable="false"
|
|
|
/>
|
|
|
</div>
|
|
|
- <div class="panel-content">
|
|
|
+ <div class="overflow-y-auto px-4 pb-4">
|
|
|
<template v-for="(value, key) in nodeSources">
|
|
|
<template v-if="nodeDataCpt.type === key">
|
|
|
<component :is="value.panelCom" :node="WorkflowStore.panel.node" />
|
|
@@ -76,32 +87,8 @@ watch(
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
@use '@/views/workflow/instance/component/style';
|
|
|
-
|
|
|
-.panel-index {
|
|
|
- width: 400px;
|
|
|
- height: 100%;
|
|
|
- background-color: white;
|
|
|
- box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15);
|
|
|
- z-index: 1000;
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
- border-radius: 10px 0 0 10px;
|
|
|
- .panel-header {
|
|
|
- padding: 16px 16px 0 16px;
|
|
|
- display: flex;
|
|
|
- justify-content: space-between;
|
|
|
- align-items: center;
|
|
|
- font-weight: bold;
|
|
|
- }
|
|
|
- .panel-sub {
|
|
|
- border-bottom: style.$borderStyle;
|
|
|
- padding: 6px;
|
|
|
- }
|
|
|
- .panel-content {
|
|
|
- padding: 0 16px 16px;
|
|
|
- flex: 1;
|
|
|
- overflow-y: auto;
|
|
|
- }
|
|
|
+.panel-sub {
|
|
|
+ border-bottom: style.$borderStyle;
|
|
|
}
|
|
|
|
|
|
/* 过渡动画 */
|