diff --git a/src/views/tools/flow/index.vue b/src/views/tools/flow/index.vue index f45fd6f..caa4dad 100644 --- a/src/views/tools/flow/index.vue +++ b/src/views/tools/flow/index.vue @@ -2,7 +2,7 @@
-
+
@@ -16,6 +16,7 @@ import "@logicflow/core/lib/style/index.css" import "@logicflow/extension/lib/style/index.css" import leftPanel from "./left.vue" import menuPanel from "./menu.vue" +import rightPanel from "./right.vue" import {StartNodeModel, StartNodeView, START_NODE_TYPES} from "./model/StartNode" import {EventNodeModel, EventNodeView, EVENT_NODE_TYPES} from "./model/EventNode" import {GatewayNodeModel, GatewayNodeView, GATEWAY_NODE_TYPES} from "./model/GatewayNode" @@ -180,27 +181,27 @@ function updateNodeProps() { // 快捷键设置 const handleKeydown = (event) => { - if (event.key === "Delete" || event.key === "Backspace") { - if (Object.keys(activeNode.value).length !== 0) { - ElMessageBox.confirm( - activeNode.value.type === 'line' ? t('flow.deleteLine') : t('flow.deleteNode'), - t('system.warning'), - { - confirmButtonText: t('system.ok'), - cancelButtonText: t('system.cancel'), - type: 'warning', - } - ).then(() => { - if (activeNode.value.type === 'line') { - lf.value.deleteEdge(activeNode.value.id); - } else { - lf.value.deleteNode(activeNode.value.id); - } - }).catch(() => { - }) - } - return - } + // if (event.key === "Delete" || event.key === "Backspace") { + // if (Object.keys(activeNode.value).length !== 0) { + // ElMessageBox.confirm( + // activeNode.value.type === 'line' ? t('flow.deleteLine') : t('flow.deleteNode'), + // t('system.warning'), + // { + // confirmButtonText: t('system.ok'), + // cancelButtonText: t('system.cancel'), + // type: 'warning', + // } + // ).then(() => { + // if (activeNode.value.type === 'line') { + // lf.value.deleteEdge(activeNode.value.id); + // } else { + // lf.value.deleteNode(activeNode.value.id); + // } + // }).catch(() => { + // }) + // } + // return + // } const directionKeys = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight']; if (directionKeys.includes(event.key)) { @@ -257,13 +258,6 @@ const handleKeydown = (event) => { height: calc(100% - 3px); } - .right-panel { - width: 320px; - background: #fff; - border-left: 1px solid var(--el-border-color-light); - padding: 10px; - } - :deep(.lf-mini-map) { background: #FFF; border: 1px solid #eee; diff --git a/src/views/tools/flow/right.vue b/src/views/tools/flow/right.vue new file mode 100644 index 0000000..1c5f5c2 --- /dev/null +++ b/src/views/tools/flow/right.vue @@ -0,0 +1,84 @@ + + + + + diff --git a/src/views/tools/form/center.vue b/src/views/tools/form/center.vue index af1659c..83195d8 100644 --- a/src/views/tools/form/center.vue +++ b/src/views/tools/form/center.vue @@ -80,7 +80,6 @@ async function copyCode() { fields: props.data.fields, config: props.data.config }) - console.log(res.data['form.vue']) navigator.clipboard.writeText(res.data['form.vue']) proxy.$message.success("复制成功") } @@ -90,7 +89,17 @@ async function downFile() { fields: props.data.fields, config: props.data.config }) - console.log(res) + await saveFile(res.data['form.vue']) +} + +async function saveFile(content, filename = 'form.vue') { + const blob = new Blob([content], {type: 'text/plain;charset=utf-8'}) + const url = URL.createObjectURL(blob) + const link = document.createElement('a') + link.href = url + link.download = filename + link.click() + URL.revokeObjectURL(url) } diff --git a/src/views/tools/form/index.vue b/src/views/tools/form/index.vue index 57423ee..7e3c7d8 100644 --- a/src/views/tools/form/index.vue +++ b/src/views/tools/form/index.vue @@ -1,6 +1,6 @@ -