From d1ac67834e4bd2621809a9c778714bf575f80117 Mon Sep 17 00:00:00 2001
From: wente <329538422@qq.com>
Date: 星期三, 29 十一月 2023 16:16:15 +0800
Subject: [PATCH] 流程图
---
web/src/views/modules/flowChart/flowChartEdge/index.vue | 143 +++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 143 insertions(+), 0 deletions(-)
diff --git a/web/src/views/modules/flowChart/flowChartEdge/index.vue b/web/src/views/modules/flowChart/flowChartEdge/index.vue
new file mode 100644
index 0000000..f80528c
--- /dev/null
+++ b/web/src/views/modules/flowChart/flowChartEdge/index.vue
@@ -0,0 +1,143 @@
+<template>
+ <div style="position: absolute;top:6%;right:0;background:#cccccc;width: 300px;" :style="'height:'+ left_p + 'px'">
+ <el-card style="height: 100%">
+ <el-tabs v-model="activeName" id="EdgeTabPane">
+ <el-tab-pane label="绾挎潯" name="first">
+ <el-row :gutter="5" align="middle" style="margin-top:20px;">
+ <el-col :span=8 style="font-size: 16px;line-height: 38px">瀹藉害</el-col>
+ <el-col :span=16>
+ <el-slider :min=1 :max=20 :step=1 v-model="globalGridAttr.strokeWidth" @change="onStrokeWidthChange"></el-slider>
+ </el-col>
+ </el-row>
+ <el-row :gutter="5" align="middle" style="margin-top:20px;">
+ <el-col :span=8 style="font-size: 16px;line-height: 38px">棰滆壊</el-col>
+ <el-col :span=16>
+ <el-color-picker v-model="globalGridAttr.stroke" style="width: 100%" @change="onStrokeChange"></el-color-picker>
+ </el-col>
+ </el-row>
+<!-- <el-row :gutter="5" align="middle" style="margin-top:20px;">-->
+<!-- <el-col :span=8 style="font-size: 16px;line-height: 32px">绫诲瀷</el-col>-->
+<!-- <el-col :span=16>-->
+<!-- <el-select style="width: 100%" v-model="globalGridAttr.connector" @change="onConnectorChange">-->
+<!-- <el-option-->
+<!-- v-for="item in options"-->
+<!-- :key="item.value"-->
+<!-- :label="item.label"-->
+<!-- :value="item.value">-->
+<!-- </el-option>-->
+<!-- <!– <el-option value="normal">榛樿</el-option>–>-->
+<!-- <!– <el-option value="smooth">骞虫粦</el-option>–>-->
+<!-- <!– <el-option value="rounded">鍦嗗舰</el-option>–>-->
+<!-- <!– <el-option value="jumpover">鎶樼嚎</el-option>–>-->
+<!-- </el-select>-->
+<!-- </el-col>-->
+<!-- </el-row>-->
+ <el-row :gutter="5" align="middle" style="margin-top:20px;">
+ <el-col :span=8 style="font-size: 16px;line-height: 32px">鏍囩</el-col>
+ <el-col :span=16>
+ <el-input v-model="globalGridAttr.label" style="width: 100%" @change="onLabelChange"/>
+ </el-col>
+ </el-row>
+ </el-tab-pane>
+ </el-tabs>
+ </el-card>
+ </div>
+</template>
+
+<script>
+import { Edge} from '@antv/x6';
+export default {
+ name: "index",
+ data(){
+ return{
+ left_p:document.documentElement.clientHeight*0.9,
+ activeName: 'first',
+ // globalGridAttr:{},
+ curCell:Edge,
+ options: [{
+ value: 'normal',
+ label: '榛樿'
+ }, {
+ value: 'smooth',
+ label: '骞虫粦杩炵嚎'
+ }]
+ }
+ },
+ props:{
+ id: {
+ type: String,
+ },
+ globalGridAttr:{
+ type: Object,
+ },
+ graph:{
+ type: String,
+ }
+ },
+ watch:{
+ 'id'(val,oldVal){
+ const cell = this.graph.getCellById(this.id)
+ if(!cell || !cell.isEdge()){
+ return
+ }
+ this.curCell = cell
+ let connector = cell.getConnector() || {
+ name:'榛樿'
+ }
+ this.globalGridAttr.stroke = cell.attr('line/stroke')
+ this.globalGridAttr.strokeWidth = cell.attr('line/strokeWidth')
+ this.globalGridAttr.connector = connector.name
+ // console.log(cell.getLabels()[0],'cell.getLabels()[0]')
+ // this.globalGridAttr.label = (cell.getLabels()[0].attrs).text.text||''
+ }
+ },
+ methods:{
+ onStrokeWidthChange(val) {
+
+ this.globalGridAttr.strokeWidth = val
+ this.curCell.attr('line/strokeWidth', val)
+ },
+
+ onStrokeChange(e) {
+ const val = e
+ this.globalGridAttr.stroke = val
+ this.curCell.attr('line/stroke', val)
+ },
+
+
+ onConnectorChange(val){
+ this.globalGridAttr.connector = val
+ this.curCell.setConnector(val)
+ },
+
+ onLabelChange(e) {
+ const val = e
+ this.globalGridAttr.label = val
+ this.curCell.setLabels([
+ {
+ attrs: {
+ text: {
+ text: val,
+ },
+ },
+ position: {
+ distance: 0.50,
+ },
+ }
+ ])
+ }
+ }
+}
+</script>
+
+<style >
+#EdgeTabPane .el-tabs__header.is-top .el-tabs__nav-scroll{
+ width: 100% !important;
+}
+#EdgeTabPane .el-tabs__nav.is-top{
+ -webkit-transform: translateX(35px) !important
+}
+#EdgeTabPane .el-color-picker__trigger{
+ width: 100%;
+}
+</style>
--
Gitblit v1.9.1