提交 7076c62b authored 作者: jianglw's avatar jianglw

最新

上级 75abcf91
<meta charset="utf-8">
<title>topology demo</title>
<script src="./topology.umd.js"></script>
<link rel="stylesheet" href="./topology.css">
<script>
console.log(topology)
</script>
{
"name": "topology-work",
"version": "0.0.3",
"main": "topology.umd.js",
"publishConfig":{
"registry":"http://192.168.2.103:8081/repository/npm-hosted/"
}
}
\ No newline at end of file
此差异已折叠。
.ant-form-vertical .ant-form-item{padding-bottom:8px;margin:8px}.a-form-item{margin-bottom:10px}.m-colorPicker .box[data-v-29accc04]{position:absolute;width:190px;left:0;background:#fff;border:1px solid #cacaca;visibility:hidden;border-radius:2px;margin-top:2px;padding:3px;padding-bottom:5px;box-shadow:0 0 5px #cacaca;opacity:0;transition:all .3s ease;box-sizing:content-box}.icon-body[data-v-2a8ce4d1]{width:100%;padding:10px}.icon-body .icon-list[data-v-2a8ce4d1]{height:200px;overflow-y:scroll}.icon-body .icon-list div[data-v-2a8ce4d1]{height:30px;line-height:30px;margin-bottom:-5px;cursor:pointer;width:33%;float:left}.icon-body .icon-list span[data-v-2a8ce4d1]{display:inline-block;vertical-align:-.15em;fill:currentColor;overflow:hidden}.a-tabs__header{padding:0;position:relative;margin:0 0 1px}.a-tabs__item{padding:0 8px;height:40px;box-sizing:border-box;line-height:40px;display:inline-block;list-style:none;font-size:14px;font-weight:500;color:#2f3032;position:relative}.a-tabs__nav{white-space:nowrap;position:relative;transition:transform .3s;float:left;z-index:2;margin:0 7%}.ant-tabs-nav .ant-tabs-tab{margin:0 0 0 0;padding:10px 9px}.ant-form-vertical .ant-form-item{padding-bottom:1px;margin:2px 6px}.ant-page-header{padding:0 10px}.ant-page-header-heading-title{font-size:13px}.el-tabs__header{padding:0;position:relative;margin:0 0 1px}.el-tabs__item{padding:0 8px;height:40px;box-sizing:border-box;line-height:40px;display:inline-block;list-style:none;font-size:14px;font-weight:500;color:#2f3032;position:relative}.el-tabs__nav{white-space:nowrap;position:relative;transition:transform .3s;float:left;z-index:2;margin:0 7%}aside{padding:0 0;margin-bottom:20px;border-radius:2px;line-height:32px;font-size:16px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;color:#2b3d4f;-webkit-font-smoothing:antialiased}.home{width:100%;height:100%}.canvas{height:100vh;width:100%}::-webkit-scrollbar{width:5px;height:5px;background-color:#fff}::-webkit-scrollbar-track{box-shadow:inset 0 0 6px transparent;background-color:#ccc}::-webkit-scrollbar-thumb{box-shadow:inset 0 0 6px transparent;background-color:#726868;border-radius:10px}.ant-form-item{box-sizing:border-box;margin:0;padding:0;color:#000;font-size:14px;font-variant:tabular-nums;line-height:1.5;list-style:none;font-feature-settings:"tnum";margin-bottom:5px;vertical-align:top}.ant-input-group{line-height:.5}.ant-divider-horizontal{display:block;clear:both;width:100%;min-width:100%;height:1px;margin:12px 0}.full{flex:1;width:auto;position:relative;overflow:auto;background:#fff}.ant-layout-header{height:45px;padding:0 50px;line-height:45px;background:#1a90ff}.ant-collapse{background-color:#fff}.ant-collapse .ant-collapse-item .ant-collapse-header{color:#000}.ant-tabs .ant-tabs-small-bar .ant-tabs-tab{padding:10px 5px;margin:0 3px 0 0;font-size:13px}.ant-collapse .ant-collapse-item .ant-collapse-header{line-height:8px;font-size:10px}.ant-tabs-bar{margin:0 0 3px 0}.ant-card-grid{padding:0;width:23%;text-align:center}.ant-layout-sider-children{border:1px solid #c4c4c4;border-radius:5px;height:100%;margin-top:-.1px;padding-top:.1px}.div-scoll{width:100%;height:90vh;overflow-x:hidden;overflow-y:scroll}image-slot{display:flex;justify-content:center;align-items:center;width:100%;height:100%;background:#f5f7fa;color:#909298;font-size:30px}.tools{position:absolute;left:0;top:0;right:0;display:flex}.tools>div{flex-grow:1}.tools button{margin:12px 16px}.steps-content{margin-top:16px;border:1px dashed #e9e9e9;border-radius:6px;background-color:#fafafa;min-height:62vh}.steps-action{margin-top:24px}.el-col{margin-bottom:10px}
\ No newline at end of file
此差异已折叠。
此差异已折叠。
...@@ -15,10 +15,14 @@ ...@@ -15,10 +15,14 @@
<a-col :span="12" <a-col :span="12"
><a-input-number ><a-input-number
v-model.number="line.from.x" v-model.number="line.from.x"
:precision="0"
@change="uploadLine" @change="uploadLine"
/></a-col> /></a-col>
<a-col :span="12" <a-col :span="12"
><a-input-number ><a-input-number
:precision="0"
v-model.number="line.from.y" v-model.number="line.from.y"
@change="uploadLine" @change="uploadLine"
/></a-col> /></a-col>
...@@ -31,10 +35,14 @@ ...@@ -31,10 +35,14 @@
<a-col :span="12" <a-col :span="12"
><a-input-number ><a-input-number
v-model.number="line.to.x" v-model.number="line.to.x"
:precision="0"
@change="uploadLine" @change="uploadLine"
/></a-col> /></a-col>
<a-col :span="12" <a-col :span="12"
><a-input-number ><a-input-number
:precision="0"
v-model.number="line.to.y" v-model.number="line.to.y"
@change="uploadLine" @change="uploadLine"
/></a-col> /></a-col>
...@@ -107,6 +115,8 @@ ...@@ -107,6 +115,8 @@
<a-form-item label="起点箭头大小"> <a-form-item label="起点箭头大小">
<a-input-number <a-input-number
v-model.number="line.fromArrowSize" v-model.number="line.fromArrowSize"
:precision="0"
@change="uploadLine" @change="uploadLine"
/> />
</a-form-item> </a-form-item>
...@@ -115,6 +125,8 @@ ...@@ -115,6 +125,8 @@
<a-form-item label="终点箭头大小"> <a-form-item label="终点箭头大小">
<a-input-number <a-input-number
v-model.number="line.toArrowSize" v-model.number="line.toArrowSize"
:precision="0"
@change="uploadLine" @change="uploadLine"
/> />
</a-form-item> </a-form-item>
...@@ -160,17 +172,22 @@ ...@@ -160,17 +172,22 @@
<a-col :span="12"> <a-col :span="12">
<a-form-item label="线条宽度"> <a-form-item label="线条宽度">
<a-input v-model.number="line.lineWidth" @change="uploadLine"> <a-input-number
</a-input> :precision="0"
v-model="line.lineWidth"
@change="uploadLine"
/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
<a-form-item label="边线宽度"> <a-form-item label="边线宽度">
<a-input <a-input-number
v-model.number="line.borderWidth" :precision="0"
v-model="line.borderWidth"
@change="uploadLine" @change="uploadLine"
> />
</a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :span="12"> <a-col :span="12">
...@@ -211,15 +228,19 @@ ...@@ -211,15 +228,19 @@
v-for="(item, index) of line.controlPoints" v-for="(item, index) of line.controlPoints"
:key="index" :key="index"
> >
<a-form-item :label="'控制点' + (index+1)"> <a-form-item :label="'控制点' + (index + 1)">
x x
<a-input-number <a-input-number
v-model.number="item.x" v-model.number="item.x"
:precision="0"
@change="uploadLine" @change="uploadLine"
/> />
y y
<a-input-number <a-input-number
v-model.number="item.y" v-model.number="item.y"
:precision="0"
@change="uploadLine" @change="uploadLine"
/> />
</a-form-item> </a-form-item>
...@@ -237,6 +258,8 @@ ...@@ -237,6 +258,8 @@
<a-form-item label="大小"> <a-form-item label="大小">
<a-input-number <a-input-number
v-model.number="line.fontSize" v-model.number="line.fontSize"
:precision="0"
@change="uploadLine" @change="uploadLine"
/> />
</a-form-item> </a-form-item>
...@@ -311,6 +334,8 @@ ...@@ -311,6 +334,8 @@
<a-form-item label="行高"> <a-form-item label="行高">
<a-input-number <a-input-number
v-model.number="line.lineHeight" v-model.number="line.lineHeight"
:precision="0"
@change="uploadLine" @change="uploadLine"
/> />
</a-form-item> </a-form-item>
...@@ -319,6 +344,8 @@ ...@@ -319,6 +344,8 @@
<a-form-item label="最大行数"> <a-form-item label="最大行数">
<a-input-number <a-input-number
v-model.number="line.textMaxLine" v-model.number="line.textMaxLine"
:precision="0"
@change="uploadLine" @change="uploadLine"
/> />
</a-form-item> </a-form-item>
...@@ -327,6 +354,8 @@ ...@@ -327,6 +354,8 @@
<a-form-item label="水平偏移(px)"> <a-form-item label="水平偏移(px)">
<a-input-number <a-input-number
v-model.number="line.textOffsetX" v-model.number="line.textOffsetX"
:precision="0"
@change="uploadLine" @change="uploadLine"
/> />
</a-form-item> </a-form-item>
...@@ -335,6 +364,8 @@ ...@@ -335,6 +364,8 @@
<a-form-item label="垂直偏移(px)"> <a-form-item label="垂直偏移(px)">
<a-input-number <a-input-number
v-model.number="line.textOffsetY" v-model.number="line.textOffsetY"
:precision="0"
@change="uploadLine" @change="uploadLine"
/> />
</a-form-item> </a-form-item>
...@@ -777,7 +808,7 @@ export default { ...@@ -777,7 +808,7 @@ export default {
}, },
enterTage() { enterTage() {
this.line.tags.push(this.tag); this.line.tags.push(this.tag);
this.tag="" this.tag = "";
}, },
lineStartPlay() { lineStartPlay() {
this.line.initAnimate(); this.line.initAnimate();
...@@ -825,7 +856,7 @@ export default { ...@@ -825,7 +856,7 @@ export default {
}; };
</script> </script>
<style lang="scss"> <style lang="scss">
.ant-tabs-nav .ant-tabs-tab{ .ant-tabs-nav .ant-tabs-tab {
margin: 0 0 0 0; margin: 0 0 0 0;
padding: 10px 9px; padding: 10px 9px;
} }
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
<a-form-item label="X (px)"> <a-form-item label="X (px)">
<a-input-number <a-input-number
v-model="node.rect.x" v-model="node.rect.x"
:precision="0"
@change="updateNode" @change="updateNode"
/> />
</a-form-item> </a-form-item>
...@@ -21,6 +22,7 @@ ...@@ -21,6 +22,7 @@
<a-form-item label="Y (px)"> <a-form-item label="Y (px)">
<a-input-number <a-input-number
v-model="node.rect.y" v-model="node.rect.y"
:precision="0"
@change="updateNode" @change="updateNode"
/> />
</a-form-item> </a-form-item>
...@@ -29,6 +31,7 @@ ...@@ -29,6 +31,7 @@
<a-form-item label="宽 (px)"> <a-form-item label="宽 (px)">
<a-input-number <a-input-number
v-model="node.rect.width" v-model="node.rect.width"
:precision="0"
@change="updateNode" @change="updateNode"
/> />
</a-form-item> </a-form-item>
...@@ -37,6 +40,7 @@ ...@@ -37,6 +40,7 @@
<a-form-item label="高 (px)"> <a-form-item label="高 (px)">
<a-input-number <a-input-number
v-model="node.rect.height" v-model="node.rect.height"
:precision="0"
@change="updateNode" @change="updateNode"
/> />
</a-form-item> </a-form-item>
...@@ -45,6 +49,7 @@ ...@@ -45,6 +49,7 @@
<a-form-item label="圆角"> <a-form-item label="圆角">
<a-input-number <a-input-number
v-model.number="node.borderRadius" v-model.number="node.borderRadius"
:precision="0"
@change="updateNode" @change="updateNode"
/> />
</a-form-item> </a-form-item>
...@@ -53,6 +58,7 @@ ...@@ -53,6 +58,7 @@
<a-form-item label="旋转 °"> <a-form-item label="旋转 °">
<a-input-number <a-input-number
v-model.number="node.rotate" v-model.number="node.rotate"
:precision="0"
@change="updateNode" @change="updateNode"
/> />
</a-form-item> </a-form-item>
...@@ -61,6 +67,7 @@ ...@@ -61,6 +67,7 @@
<a-form-item label="内边距-左"> <a-form-item label="内边距-左">
<a-input-number <a-input-number
v-model.number="node.paddingLeft" v-model.number="node.paddingLeft"
:precision="0"
@change="updateNode" @change="updateNode"
/> />
</a-form-item> </a-form-item>
...@@ -69,6 +76,7 @@ ...@@ -69,6 +76,7 @@
<a-form-item label="内边距-右"> <a-form-item label="内边距-右">
<a-input-number <a-input-number
v-model.number="node.paddingRight" v-model.number="node.paddingRight"
:precision="0"
@change="updateNode" @change="updateNode"
/> />
</a-form-item> </a-form-item>
...@@ -77,6 +85,7 @@ ...@@ -77,6 +85,7 @@
<a-form-item label="内边距-上"> <a-form-item label="内边距-上">
<a-input-number <a-input-number
v-model.number="node.paddingTop" v-model.number="node.paddingTop"
:precision="0"
@change="updateNode" @change="updateNode"
/> />
</a-form-item> </a-form-item>
...@@ -85,6 +94,7 @@ ...@@ -85,6 +94,7 @@
<a-form-item label="内边距-下"> <a-form-item label="内边距-下">
<a-input-number <a-input-number
v-model.number="node.paddingBottom" v-model.number="node.paddingBottom"
:precision="0"
@change="updateNode" @change="updateNode"
/> />
</a-form-item> </a-form-item>
...@@ -124,6 +134,7 @@ ...@@ -124,6 +134,7 @@
<a-form-item label="线条宽度 (px)"> <a-form-item label="线条宽度 (px)">
<a-input-number <a-input-number
v-model.number="node.lineWidth" v-model.number="node.lineWidth"
:precision="0"
@change="updateNode" @change="updateNode"
/> />
</a-form-item> </a-form-item>
...@@ -168,6 +179,7 @@ ...@@ -168,6 +179,7 @@
<a-form-item label="角度"> <a-form-item label="角度">
<a-input-number <a-input-number
v-model.number="node.gradientAngle" v-model.number="node.gradientAngle"
:precision="0"
@change="updateNode" @change="updateNode"
> >
</a-input-number> </a-input-number>
...@@ -218,8 +230,9 @@ ...@@ -218,8 +230,9 @@
<a-form-item label="透明度(0 - 1)"> <a-form-item label="透明度(0 - 1)">
<a-input-number <a-input-number
v-model.number="node.globalAlpha" v-model.number="node.globalAlpha"
:precision="0"
@change="updateNode" @change="updateNode"
style="width:100%;" style="width: 100%"
/> />
</a-form-item> </a-form-item>
</a-col> </a-col>
...@@ -235,6 +248,7 @@ ...@@ -235,6 +248,7 @@
<a-col :span="12" style="padding-left: 2px; padding-right: 2px"> <a-col :span="12" style="padding-left: 2px; padding-right: 2px">
<a-form-item label="大小"> <a-form-item label="大小">
<a-input-number <a-input-number
:precision="0"
v-model.number="node.fontSize" v-model.number="node.fontSize"
@change="updateNode" @change="updateNode"
/> />
...@@ -297,6 +311,7 @@ ...@@ -297,6 +311,7 @@
<a-form-item label="行高"> <a-form-item label="行高">
<a-input-number <a-input-number
v-model.number="node.lineHeight" v-model.number="node.lineHeight"
:precision="0"
@change="updateNode" @change="updateNode"
/> />
</a-form-item> </a-form-item>
...@@ -305,6 +320,7 @@ ...@@ -305,6 +320,7 @@
<a-form-item label="最大行数"> <a-form-item label="最大行数">
<a-input-number <a-input-number
v-model.number="node.textMaxLine" v-model.number="node.textMaxLine"
:precision="0"
@change="updateNode" @change="updateNode"
/> />
</a-form-item> </a-form-item>
...@@ -313,6 +329,7 @@ ...@@ -313,6 +329,7 @@
<a-form-item label="水平偏移(px)"> <a-form-item label="水平偏移(px)">
<a-input-number <a-input-number
v-model.number="node.textOffsetX" v-model.number="node.textOffsetX"
:precision="0"
@change="updateNode" @change="updateNode"
/> />
</a-form-item> </a-form-item>
...@@ -321,6 +338,7 @@ ...@@ -321,6 +338,7 @@
<a-form-item label="垂直偏移(px)"> <a-form-item label="垂直偏移(px)">
<a-input-number <a-input-number
v-model.number="node.textOffsetY" v-model.number="node.textOffsetY"
:precision="0"
@change="updateNode" @change="updateNode"
/> />
</a-form-item> </a-form-item>
...@@ -391,6 +409,7 @@ ...@@ -391,6 +409,7 @@
:wrapper-col="{ span: 15 }" :wrapper-col="{ span: 15 }"
> >
<a-input-number <a-input-number
:precision="0"
v-model.number="node.imageWidth" v-model.number="node.imageWidth"
@change="updateNode" @change="updateNode"
/> />
...@@ -402,6 +421,7 @@ ...@@ -402,6 +421,7 @@
> >
<a-input-number <a-input-number
v-model.number="node.imageHeight" v-model.number="node.imageHeight"
:precision="0"
@change="updateNode" @change="updateNode"
/> />
</a-form-item> </a-form-item>
...@@ -483,6 +503,7 @@ ...@@ -483,6 +503,7 @@
> >
<a-input-number <a-input-number
v-model.number="iconSize" v-model.number="iconSize"
:precision="0"
@change="updateNodeIconSize" @change="updateNodeIconSize"
/> />
</a-form-item> </a-form-item>
...@@ -829,7 +850,11 @@ ...@@ -829,7 +850,11 @@
<a-tab-pane key="5" tab="结构"> <a-tab-pane key="5" tab="结构">
<div class="div-scoll"> <div class="div-scoll">
<a-directory-tree <a-directory-tree
v-if="node instanceof Object" default-expand-all multiple style="text-align: left"> v-if="node instanceof Object"
default-expand-all
multiple
style="text-align: left"
>
<a-tree-node <a-tree-node
key="0-0" key="0-0"
:title="'[节点]' + '-' + node.name + '-' + node.text" :title="'[节点]' + '-' + node.name + '-' + node.text"
...@@ -837,7 +862,10 @@ ...@@ -837,7 +862,10 @@
</a-tree-node> </a-tree-node>
</a-directory-tree> </a-directory-tree>
<a-directory-tree <a-directory-tree
v-if="node instanceof Array" default-expand-all multiple style="text-align: left" v-if="node instanceof Array"
default-expand-all
multiple
style="text-align: left"
> >
<a-tree-node key="0-0" title="parent 0"> <a-tree-node key="0-0" title="parent 0">
<a-tree-node key="0-0-0" title="leaf 0-0" is-leaf /> <a-tree-node key="0-0-0" title="leaf 0-0" is-leaf />
...@@ -867,22 +895,6 @@ export default { ...@@ -867,22 +895,6 @@ export default {
type: Object, type: Object,
}, },
}, },
// watch: {
// // node:{
// // deep: true,
// // handler(n,v){
// // }
// // },
// data: {
// handler(n, v) {
// if (n.data) {
// this.data = n.data;
// }
// },
// deep: true,
// },
// },
components: { components: {
AddEvent, AddEvent,
AddWheres, AddWheres,
...@@ -905,7 +917,6 @@ export default { ...@@ -905,7 +917,6 @@ export default {
iconColor: this.node.iconColor ? this.node.iconColor : "#fff", iconColor: this.node.iconColor ? this.node.iconColor : "#fff",
play: true, play: true,
}; };
// \uea68|ltys
}, },
methods: { methods: {
selected(item) { selected(item) {
...@@ -979,7 +990,7 @@ export default { ...@@ -979,7 +990,7 @@ export default {
}, },
enterTage() { enterTage() {
this.node.tags.push(this.tag); this.node.tags.push(this.tag);
this.tag="" this.tag = "";
}, },
nodeStartPlay() { nodeStartPlay() {
this.node.initAnimate(); this.node.initAnimate();
...@@ -1077,7 +1088,7 @@ export default { ...@@ -1077,7 +1088,7 @@ export default {
z-index: 2; z-index: 2;
margin: 0 7%; margin: 0 7%;
} }
.ant-tabs-nav .ant-tabs-tab{ .ant-tabs-nav .ant-tabs-tab {
margin: 0 0 0 0; margin: 0 0 0 0;
padding: 10px 9px; padding: 10px 9px;
} }
......
...@@ -47,21 +47,15 @@ export default { ...@@ -47,21 +47,15 @@ export default {
created() { created() {
registerChart(); registerChart();
}, },
destroyed(){
if(this.canvas){
this.canvas.destroy();
}
},
mounted() { mounted() {
this.init(); this.init();
}, },
methods: { methods: {
onBack() {
// this.$router.push({
// path: "/workspace",
// });
},
onSizeWindow() {
this.canvas.fitView(20);
},
onSizeOri() {
// this.canvas.open(this.$store.state.canvas.topologyData);
},
init() { init() {
this.canvas = new Topology("topology-hrhx"); this.canvas = new Topology("topology-hrhx");
this.canvasData.locked = 2; this.canvasData.locked = 2;
......
...@@ -220,19 +220,18 @@ ...@@ -220,19 +220,18 @@
</div> </div>
</template> </template>
<script> <script>
import pick from "lodash.pick";
import InputColor from "@/components/topology/color/InputColor"; import InputColor from "@/components/topology/color/InputColor";
const formItemLayout = { const formItemLayout = {
labelCol: { span: 8 }, labelCol: { span: 8 },
wrapperCol: { span: 15 }, wrapperCol: { span: 15 },
}; };
export default { export default {
props: { // props: {
canvas: { // canvas: {
type: Object, // type: Object,
require: true, // require: true,
}, // },
}, // },
components: { components: {
InputColor, InputColor,
}, },
......
...@@ -33,100 +33,122 @@ ...@@ -33,100 +33,122 @@
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-card v-loading="loading"> <el-card v-loading="loading">
<el-row :gutter="20"> <!-- <el-row :gutter="20">
<el-col <el-col
:span="6" :span="6"
v-for="(item, index) of topologyList" v-for="(item, index) of topologyList"
:key="index" :key="index"
> >
<el-card :body-style="{ padding: '0px' }"> <el-card :body-style="{ padding: '0px' }">
<div @click="previeData(item)">
<preview-to-img
:canvasData="changeJson(item.data)"
:width="'100%'"
:height="'20vh'"
:title="'点击预览'"
></preview-to-img>
</div>
<div style="padding: 14px">
<el-row>
<el-col :span="19">
<el-tooltip
class="item"
effect="dark"
:content="item.name"
placement="top-start"
>
<span>{{ splitName(item.name) }}</span>
</el-tooltip>
</el-col>
<el-col :span="4">
<span>
<el-tooltip
class="item"
effect="dark"
content="显示/隐藏"
placement="top-start"
>
<!-- v-hasPermi="['topology:index:showhide']" -->
<el-switch
v-model="item.switchIt"
active-value="1"
inactive-value="0"
@change="handleSwitchItChange(item)"
></el-switch>
</el-tooltip>
</span>
</el-col>
</el-row>
<div class="bottom clearfix">
<!-- <time class="time">2021-04-29 00:00:00</time> -->
<!-- v-hasPermi="['topology:index:edit']" -->
<el-button
size="mini"
type="text"
icon="el-icon-s-tools"
@click="uploadTopology(item)"
>修改组态</el-button
>
<!-- v-hasPermi="['topology:params:set']" -->
<el-button
size="mini"
type="text"
icon="el-icon-s-tools"
@click="handleAdd(item)"
>采集参数设置</el-button
>
<!-- v-hasPermi="['topology:index:delete']" -->
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="removeTopology(item.id)"
>删除</el-button
>
<!-- v-hasPermi="['topology:params:set']" -->
<el-button
size="mini"
type="text"
icon="el-icon-s-tools"
@click="handleMutual(item)"
>交互参数设置</el-button
>
<!-- v-hasPermi="['topology:index:deleteTopologyHandle']" -->
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="removeTopologyHandle(item.id)"
>清空原有配置</el-button
>
</div>
</div>
</el-card> </el-card>
</el-col> </el-col>
</el-row> </el-row>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="init()"
/> -->
<el-table :data="topologyList" border style="width: 100%">
<el-table-column
fixed
prop="id"
label="ID"
width="80px"
header-align="center"
align="center"
>
</el-table-column>
<el-table-column
fixed
prop="name"
label="名称"
header-align="center"
align="center"
>
<template slot-scope="scope">
<el-tooltip
class="item"
effect="dark"
content="点击预览"
placement="top-start"
>
<a @click="previeData(scope.row)">{{
splitName(scope.row.name)
}}</a>
</el-tooltip>
</template>
</el-table-column>
<el-table-column
fixed
prop="switchIt"
label="显示/隐藏"
header-align="center"
align="center"
>
<template slot-scope="scope">
<el-tooltip
class="item"
effect="dark"
content="显示/隐藏"
placement="top-start"
>
<el-switch
v-model="scope.row.switchIt"
active-value="1"
inactive-value="0"
@change="handleSwitchItChange(scope.row)"
></el-switch>
</el-tooltip>
</template>
</el-table-column>
<el-table-column
fixed
label="操作"
header-align="center"
align="center"
>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-s-tools"
@click="uploadTopology(scope.row)"
>修改组态</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-s-tools"
@click="handleAdd(scope.row)"
>采集参数设置</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-s-tools"
@click="handleMutual(scope.row)"
>交互参数设置</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="removeTopologyHandle(scope.row.id)"
>清空原有配置</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="removeTopology(scope.row.id)"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<pagination <pagination
v-show="total > 0" v-show="total > 0"
:total="total" :total="total"
......
...@@ -22,7 +22,6 @@ ...@@ -22,7 +22,6 @@
</template> </template>
<script> <script>
import { Topology } from "@topology/core"; import { Topology } from "@topology/core";
export const Data = "";
import { getTopologyId } from "@/api/topology.js"; import { getTopologyId } from "@/api/topology.js";
import { urlParse } from "@/utils/ruoyi"; import { urlParse } from "@/utils/ruoyi";
export default { export default {
...@@ -39,23 +38,23 @@ export default { ...@@ -39,23 +38,23 @@ export default {
mounted() { mounted() {
this.init(); this.init();
let that = this; let that = this;
window.onresize = () => { // window.onresize = () => {
setTimeout(function () { // setTimeout(function () {
that.onSizeWindow(); // that.onSizeWindow();
}, 100); // }, 100);
}; // };
}, },
destroyed() { destroyed() {
this.canvas.destroy(); this.canvas.destroy();
window.onresize = null; // window.onresize = null;
}, },
methods: { methods: {
onBack() { onBack() {
this.$router.go(-1); this.$router.go(-1);
}, },
onSizeWindow() { onSizeWindow() {
this.canvas.fitView(20); this.canvas.fitView(10);
this.canvas.centerView(30); this.canvas.centerView(10);
}, },
onSizeOri() { onSizeOri() {
this.canvas.open(this.topologyData); this.canvas.open(this.topologyData);
......
...@@ -198,7 +198,6 @@ ...@@ -198,7 +198,6 @@
<div> <div>
<space-view <space-view
v-if="opt == 'space'" v-if="opt == 'space'"
:canvas="canvas.data"
ref="space" ref="space"
@ok="uploadCanvasData" @ok="uploadCanvasData"
></space-view> ></space-view>
...@@ -315,7 +314,6 @@ export default { ...@@ -315,7 +314,6 @@ export default {
destroyed() { destroyed() {
document.removeEventListener("keydown", this.saveContent); document.removeEventListener("keydown", this.saveContent);
this.canvas.destroy(); this.canvas.destroy();
}, },
computed: { computed: {
scalecom: { scalecom: {
...@@ -339,11 +337,11 @@ export default { ...@@ -339,11 +337,11 @@ export default {
}, },
methods: { methods: {
initSpace() { initSpace() {
this.opt = "space"; this.opt = "space";
let that = this; let that = this;
this.$nextTick(() => { this.$nextTick(() => {
that.$refs.space.init(this.canvas); that.$refs.space.init(this.canvas);
}); });
}, },
allowDrop(event) { allowDrop(event) {
event.preventDefault(); event.preventDefault();
...@@ -469,7 +467,7 @@ export default { ...@@ -469,7 +467,7 @@ export default {
this.$nextTick(() => { this.$nextTick(() => {
that.$refs.space.init(this.canvas); that.$refs.space.init(this.canvas);
}); });
this.canvas.closeSocket(); // this.canvas.closeSocket();
this.canvas.closeMqtt(); this.canvas.closeMqtt();
} }
}, },
...@@ -480,7 +478,7 @@ export default { ...@@ -480,7 +478,7 @@ export default {
this.canvas = new Topology("topology-hrhx", { this.canvas = new Topology("topology-hrhx", {
rotateCursor: "./rotate.cur", rotateCursor: "./rotate.cur",
on: (event, data) => { on: (event, data) => {
this.optionsSet(event, data, this.canvas); this.optionsSet(event, data);
}, },
}); });
// this.onSvgICON(); // this.onSvgICON();
...@@ -663,7 +661,7 @@ export default { ...@@ -663,7 +661,7 @@ export default {
this.$route.query.id = ""; this.$route.query.id = "";
}); });
}, },
optionsSet(event, data, canvas) { optionsSet(event, data) {
switch (event) { switch (event) {
case "opened": case "opened":
this.initSpace(); this.initSpace();
...@@ -699,6 +697,8 @@ export default { ...@@ -699,6 +697,8 @@ export default {
case "delete": case "delete":
this.initSpace(); this.initSpace();
break; break;
default:
break;
} }
}, },
}, },
......
...@@ -27,7 +27,7 @@ module.exports = { ...@@ -27,7 +27,7 @@ module.exports = {
proxy: { proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy // detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: { [process.env.VUE_APP_BASE_API]: {
target: `http://localhost:8081`, target: `http://localhost:7777`,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: '' ['^' + process.env.VUE_APP_BASE_API]: ''
......
...@@ -1806,7 +1806,7 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0: ...@@ -1806,7 +1806,7 @@ ansi-styles@^4.0.0, ansi-styles@^4.1.0:
dependencies: dependencies:
color-convert "^2.0.1" color-convert "^2.0.1"
ant-design-vue@^1.7.4: ant-design-vue@^1.7.8:
version "1.7.8" version "1.7.8"
resolved "https://registry.npmmirror.com/ant-design-vue/-/ant-design-vue-1.7.8.tgz#1abbf86b68a4f5b1000bea0487b8031dc0001661" resolved "https://registry.npmmirror.com/ant-design-vue/-/ant-design-vue-1.7.8.tgz#1abbf86b68a4f5b1000bea0487b8031dc0001661"
integrity sha512-F1hmiS9vwbyfuFvlamdW5l9bHKqRlj9wHaGDIE41NZMWXyWy8qL0UFa/+I0Wl8gQWZCqODW5pN6Yfoyn85At3A== integrity sha512-F1hmiS9vwbyfuFvlamdW5l9bHKqRlj9wHaGDIE41NZMWXyWy8qL0UFa/+I0Wl8gQWZCqODW5pN6Yfoyn85At3A==
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论