diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..403adbc --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +.DS_Store +node_modules +/dist + + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/README.md b/README.md new file mode 100644 index 0000000..6ad8b44 --- /dev/null +++ b/README.md @@ -0,0 +1,54 @@ +# vue-webtopo-svgeditor + +> 纯vue3实现的svg可视化web组态编辑器。主要用于物联网mqtt实时系统图 + +## 预览地址 + +[https://svg.yaolunmao.top](https://svg.yaolunmao.top) + +## 如何使用 + +``` +# 克隆项目 +git clone https://github.com/yaolunmao/vue-webtopo-svgeditor.git + +# 进入项目目录 +cd vue-webtopo-svgeditor + +# 安装依赖 +yarn install + +# 启动服务 +yarn serve + +``` + +## 操作 + +点击载入模板 进入预览页点击模拟硬件 等待两秒钟即可看到动态效果 + +- 鼠标左键选中组件 按住可拖动至画布 +- 鼠标双击画布取消选中组件 +- 右侧工具栏调整选中组件样式 +- 键盘↑↓←→可移动选中组件 +- ctrl+c复制当前选中组件 +- deleted删除当前选中组件 +- 鼠标滚轮放大缩小选中组件 + +## Todo + +- 鼠标框选批量选中 +- 画布绑定mqtt平台 +- 组件旋转 +- 画布缩放 +- 编辑器撤销、重做 + +## 截图 + +![编辑器页面](https://p.130014.xyz/2021/03/19/svgedit.png) + +![预览界面](https://p.130014.xyz/2021/03/19/svgview.png) + +## License + +[MIT](http://opensource.org/licenses/MIT) \ No newline at end of file diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..e955840 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,5 @@ +module.exports = { + presets: [ + '@vue/cli-plugin-babel/preset' + ] +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..6067d44 --- /dev/null +++ b/package.json @@ -0,0 +1,50 @@ +{ + "name": "vue-webtopo-svgeditor", + "version": "0.1.0", + "private": true, + "scripts": { + "serve": "vue-cli-service serve", + "build": "vue-cli-service build", + "lint": "vue-cli-service lint" + }, + "dependencies": { + "@ant-design/icons-vue": "^6.0.1", + "ant-design-vue": "^2.0.0-rc.7", + "axios": "^0.21.1", + "core-js": "^3.6.5", + "vue": "^3.0.0", + "vue-router": "^4.0.4" + }, + "devDependencies": { + "@vue/cli-plugin-babel": "~4.5.0", + "@vue/cli-plugin-eslint": "~4.5.0", + "@vue/cli-service": "~4.5.0", + "@vue/compiler-sfc": "^3.0.0", + "babel-eslint": "^10.1.0", + "eslint": "^6.7.2", + "eslint-plugin-vue": "^7.0.0-0", + "less": "^4.0.0", + "less-loader": "^7.2.1", + "node-sass": "^5.0.0", + "sass-loader": "^11.0.1" + }, + "eslintConfig": { + "root": true, + "env": { + "node": true + }, + "extends": [ + "plugin:vue/vue3-essential", + "eslint:recommended" + ], + "parserOptions": { + "parser": "babel-eslint" + }, + "rules": {} + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not dead" + ] +} diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000..df36fcf Binary files /dev/null and b/public/favicon.ico differ diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..3e5a139 --- /dev/null +++ b/public/index.html @@ -0,0 +1,17 @@ + + + + + + + + <%= htmlWebpackPlugin.options.title %> + + + +
+ + + diff --git a/src/App.vue b/src/App.vue new file mode 100644 index 0000000..c31e8a9 --- /dev/null +++ b/src/App.vue @@ -0,0 +1,17 @@ + + + + + diff --git a/src/assets/Alternator.png b/src/assets/Alternator.png new file mode 100644 index 0000000..0e71ab1 Binary files /dev/null and b/src/assets/Alternator.png differ diff --git a/src/assets/ArrowDownSvg.png b/src/assets/ArrowDownSvg.png new file mode 100644 index 0000000..f939a3f Binary files /dev/null and b/src/assets/ArrowDownSvg.png differ diff --git a/src/assets/ArrowUpSvg.png b/src/assets/ArrowUpSvg.png new file mode 100644 index 0000000..926bb31 Binary files /dev/null and b/src/assets/ArrowUpSvg.png differ diff --git a/src/assets/CircuitBreakerSvg.png b/src/assets/CircuitBreakerSvg.png new file mode 100644 index 0000000..2e0d9fa Binary files /dev/null and b/src/assets/CircuitBreakerSvg.png differ diff --git a/src/assets/DoubleWindingSvg.png b/src/assets/DoubleWindingSvg.png new file mode 100644 index 0000000..34e8a31 Binary files /dev/null and b/src/assets/DoubleWindingSvg.png differ diff --git a/src/assets/DoubleWindingSvgB.png b/src/assets/DoubleWindingSvgB.png new file mode 100644 index 0000000..6477e07 Binary files /dev/null and b/src/assets/DoubleWindingSvgB.png differ diff --git a/src/assets/GGJ.png b/src/assets/GGJ.png new file mode 100644 index 0000000..034769c Binary files /dev/null and b/src/assets/GGJ.png differ diff --git a/src/assets/GroundGraySvg.png b/src/assets/GroundGraySvg.png new file mode 100644 index 0000000..7f872ad Binary files /dev/null and b/src/assets/GroundGraySvg.png differ diff --git a/src/assets/HorizontalLineSvg.png b/src/assets/HorizontalLineSvg.png new file mode 100644 index 0000000..f71c0fe Binary files /dev/null and b/src/assets/HorizontalLineSvg.png differ diff --git a/src/assets/IsolatingSwitchSvg.png b/src/assets/IsolatingSwitchSvg.png new file mode 100644 index 0000000..cf2d6de Binary files /dev/null and b/src/assets/IsolatingSwitchSvg.png differ diff --git a/src/assets/LightningArresterSvg.png b/src/assets/LightningArresterSvg.png new file mode 100644 index 0000000..20a5fd8 Binary files /dev/null and b/src/assets/LightningArresterSvg.png differ diff --git a/src/assets/PolylineDownSvg.png b/src/assets/PolylineDownSvg.png new file mode 100644 index 0000000..7d3406d Binary files /dev/null and b/src/assets/PolylineDownSvg.png differ diff --git a/src/assets/PolylineUpSvg.png b/src/assets/PolylineUpSvg.png new file mode 100644 index 0000000..b94dfaf Binary files /dev/null and b/src/assets/PolylineUpSvg.png differ diff --git a/src/assets/RectSvg.png b/src/assets/RectSvg.png new file mode 100644 index 0000000..4078b6e Binary files /dev/null and b/src/assets/RectSvg.png differ diff --git a/src/assets/SignalLamp.png b/src/assets/SignalLamp.png new file mode 100644 index 0000000..519446e Binary files /dev/null and b/src/assets/SignalLamp.png differ diff --git a/src/assets/SmartTerminalSvg.png b/src/assets/SmartTerminalSvg.png new file mode 100644 index 0000000..56e10ff Binary files /dev/null and b/src/assets/SmartTerminalSvg.png differ diff --git a/src/assets/StandardCapacitorSvg.png b/src/assets/StandardCapacitorSvg.png new file mode 100644 index 0000000..a143588 Binary files /dev/null and b/src/assets/StandardCapacitorSvg.png differ diff --git a/src/assets/StandardReactance.png b/src/assets/StandardReactance.png new file mode 100644 index 0000000..dfaeaca Binary files /dev/null and b/src/assets/StandardReactance.png differ diff --git a/src/assets/TableSvg.png b/src/assets/TableSvg.png new file mode 100644 index 0000000..a9995c5 Binary files /dev/null and b/src/assets/TableSvg.png differ diff --git a/src/assets/TextSvg.png b/src/assets/TextSvg.png new file mode 100644 index 0000000..d3d6922 Binary files /dev/null and b/src/assets/TextSvg.png differ diff --git a/src/assets/TransformerTriphaseOpen.png b/src/assets/TransformerTriphaseOpen.png new file mode 100644 index 0000000..e601a16 Binary files /dev/null and b/src/assets/TransformerTriphaseOpen.png differ diff --git a/src/assets/TransformerY.png b/src/assets/TransformerY.png new file mode 100644 index 0000000..38ce203 Binary files /dev/null and b/src/assets/TransformerY.png differ diff --git a/src/assets/TwoCircleSvg.png b/src/assets/TwoCircleSvg.png new file mode 100644 index 0000000..3a0d937 Binary files /dev/null and b/src/assets/TwoCircleSvg.png differ diff --git a/src/assets/VerticalLineSvg.png b/src/assets/VerticalLineSvg.png new file mode 100644 index 0000000..f6efceb Binary files /dev/null and b/src/assets/VerticalLineSvg.png differ diff --git a/src/assets/WireBreakOffSvg.png b/src/assets/WireBreakOffSvg.png new file mode 100644 index 0000000..1ab2e5f Binary files /dev/null and b/src/assets/WireBreakOffSvg.png differ diff --git a/src/assets/css/iconfont/demo.css b/src/assets/css/iconfont/demo.css new file mode 100644 index 0000000..a67054a --- /dev/null +++ b/src/assets/css/iconfont/demo.css @@ -0,0 +1,539 @@ +/* Logo 字体 */ +@font-face { + font-family: "iconfont logo"; + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834'); + src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'), + url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg'); +} + +.logo { + font-family: "iconfont logo"; + font-size: 160px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +/* tabs */ +.nav-tabs { + position: relative; +} + +.nav-tabs .nav-more { + position: absolute; + right: 0; + bottom: 0; + height: 42px; + line-height: 42px; + color: #666; +} + +#tabs { + border-bottom: 1px solid #eee; +} + +#tabs li { + cursor: pointer; + width: 100px; + height: 40px; + line-height: 40px; + text-align: center; + font-size: 16px; + border-bottom: 2px solid transparent; + position: relative; + z-index: 1; + margin-bottom: -1px; + color: #666; +} + + +#tabs .active { + border-bottom-color: #f00; + color: #222; +} + +.tab-container .content { + display: none; +} + +/* 页面布局 */ +.main { + padding: 30px 100px; + width: 960px; + margin: 0 auto; +} + +.main .logo { + color: #333; + text-align: left; + margin-bottom: 30px; + line-height: 1; + height: 110px; + margin-top: -50px; + overflow: hidden; + *zoom: 1; +} + +.main .logo a { + font-size: 160px; + color: #333; +} + +.helps { + margin-top: 40px; +} + +.helps pre { + padding: 20px; + margin: 10px 0; + border: solid 1px #e7e1cd; + background-color: #fffdef; + overflow: auto; +} + +.icon_lists { + width: 100% !important; + overflow: hidden; + *zoom: 1; +} + +.icon_lists li { + width: 100px; + margin-bottom: 10px; + margin-right: 20px; + text-align: center; + list-style: none !important; + cursor: default; +} + +.icon_lists li .code-name { + line-height: 1.2; +} + +.icon_lists .icon { + display: block; + height: 100px; + line-height: 100px; + font-size: 42px; + margin: 10px auto; + color: #333; + -webkit-transition: font-size 0.25s linear, width 0.25s linear; + -moz-transition: font-size 0.25s linear, width 0.25s linear; + transition: font-size 0.25s linear, width 0.25s linear; +} + +.icon_lists .icon:hover { + font-size: 100px; +} + +.icon_lists .svg-icon { + /* 通过设置 font-size 来改变图标大小 */ + width: 1em; + /* 图标和文字相邻时,垂直对齐 */ + vertical-align: -0.15em; + /* 通过设置 color 来改变 SVG 的颜色/fill */ + fill: currentColor; + /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示 + normalize.css 中也包含这行 */ + overflow: hidden; +} + +.icon_lists li .name, +.icon_lists li .code-name { + color: #666; +} + +/* markdown 样式 */ +.markdown { + color: #666; + font-size: 14px; + line-height: 1.8; +} + +.highlight { + line-height: 1.5; +} + +.markdown img { + vertical-align: middle; + max-width: 100%; +} + +.markdown h1 { + color: #404040; + font-weight: 500; + line-height: 40px; + margin-bottom: 24px; +} + +.markdown h2, +.markdown h3, +.markdown h4, +.markdown h5, +.markdown h6 { + color: #404040; + margin: 1.6em 0 0.6em 0; + font-weight: 500; + clear: both; +} + +.markdown h1 { + font-size: 28px; +} + +.markdown h2 { + font-size: 22px; +} + +.markdown h3 { + font-size: 16px; +} + +.markdown h4 { + font-size: 14px; +} + +.markdown h5 { + font-size: 12px; +} + +.markdown h6 { + font-size: 12px; +} + +.markdown hr { + height: 1px; + border: 0; + background: #e9e9e9; + margin: 16px 0; + clear: both; +} + +.markdown p { + margin: 1em 0; +} + +.markdown>p, +.markdown>blockquote, +.markdown>.highlight, +.markdown>ol, +.markdown>ul { + width: 80%; +} + +.markdown ul>li { + list-style: circle; +} + +.markdown>ul li, +.markdown blockquote ul>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown>ul li p, +.markdown>ol li p { + margin: 0.6em 0; +} + +.markdown ol>li { + list-style: decimal; +} + +.markdown>ol li, +.markdown blockquote ol>li { + margin-left: 20px; + padding-left: 4px; +} + +.markdown code { + margin: 0 3px; + padding: 0 5px; + background: #eee; + border-radius: 3px; +} + +.markdown strong, +.markdown b { + font-weight: 600; +} + +.markdown>table { + border-collapse: collapse; + border-spacing: 0px; + empty-cells: show; + border: 1px solid #e9e9e9; + width: 95%; + margin-bottom: 24px; +} + +.markdown>table th { + white-space: nowrap; + color: #333; + font-weight: 600; +} + +.markdown>table th, +.markdown>table td { + border: 1px solid #e9e9e9; + padding: 8px 16px; + text-align: left; +} + +.markdown>table th { + background: #F7F7F7; +} + +.markdown blockquote { + font-size: 90%; + color: #999; + border-left: 4px solid #e9e9e9; + padding-left: 0.8em; + margin: 1em 0; +} + +.markdown blockquote p { + margin: 0; +} + +.markdown .anchor { + opacity: 0; + transition: opacity 0.3s ease; + margin-left: 8px; +} + +.markdown .waiting { + color: #ccc; +} + +.markdown h1:hover .anchor, +.markdown h2:hover .anchor, +.markdown h3:hover .anchor, +.markdown h4:hover .anchor, +.markdown h5:hover .anchor, +.markdown h6:hover .anchor { + opacity: 1; + display: inline-block; +} + +.markdown>br, +.markdown>p>br { + clear: both; +} + + +.hljs { + display: block; + background: white; + padding: 0.5em; + color: #333333; + overflow-x: auto; +} + +.hljs-comment, +.hljs-meta { + color: #969896; +} + +.hljs-string, +.hljs-variable, +.hljs-template-variable, +.hljs-strong, +.hljs-emphasis, +.hljs-quote { + color: #df5000; +} + +.hljs-keyword, +.hljs-selector-tag, +.hljs-type { + color: #a71d5d; +} + +.hljs-literal, +.hljs-symbol, +.hljs-bullet, +.hljs-attribute { + color: #0086b3; +} + +.hljs-section, +.hljs-name { + color: #63a35c; +} + +.hljs-tag { + color: #333333; +} + +.hljs-title, +.hljs-attr, +.hljs-selector-id, +.hljs-selector-class, +.hljs-selector-attr, +.hljs-selector-pseudo { + color: #795da3; +} + +.hljs-addition { + color: #55a532; + background-color: #eaffea; +} + +.hljs-deletion { + color: #bd2c00; + background-color: #ffecec; +} + +.hljs-link { + text-decoration: underline; +} + +/* 代码高亮 */ +/* PrismJS 1.15.0 +https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */ +/** + * prism.js default theme for JavaScript, CSS and HTML + * Based on dabblet (http://dabblet.com) + * @author Lea Verou + */ +code[class*="language-"], +pre[class*="language-"] { + color: black; + background: none; + text-shadow: 0 1px white; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +pre[class*="language-"]::-moz-selection, +pre[class*="language-"] ::-moz-selection, +code[class*="language-"]::-moz-selection, +code[class*="language-"] ::-moz-selection { + text-shadow: none; + background: #b3d4fc; +} + +pre[class*="language-"]::selection, +pre[class*="language-"] ::selection, +code[class*="language-"]::selection, +code[class*="language-"] ::selection { + text-shadow: none; + background: #b3d4fc; +} + +@media print { + + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; +} + +:not(pre)>code[class*="language-"], +pre[class*="language-"] { + background: #f5f2f0; +} + +/* Inline code */ +:not(pre)>code[class*="language-"] { + padding: .1em; + border-radius: .3em; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: slategray; +} + +.token.punctuation { + color: #999; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.boolean, +.token.number, +.token.constant, +.token.symbol, +.token.deleted { + color: #905; +} + +.token.selector, +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: #690; +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string { + color: #9a6e3a; + background: hsla(0, 0%, 100%, .5); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: #07a; +} + +.token.function, +.token.class-name { + color: #DD4A68; +} + +.token.regex, +.token.important, +.token.variable { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} + +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} diff --git a/src/assets/css/iconfont/demo_index.html b/src/assets/css/iconfont/demo_index.html new file mode 100644 index 0000000..ec98c3e --- /dev/null +++ b/src/assets/css/iconfont/demo_index.html @@ -0,0 +1,239 @@ + + + + + IconFont Demo + + + + + + + + + + + +
+

+ +
+
+
    + +
  • + +
    移动
    +
    &#xe633;
    +
  • + +
  • + +
    展开
    +
    &#xe648;
    +
  • + +
  • + +
    缩小
    +
    &#xe62b;
    +
  • + +
+
+

Unicode 引用

+
+ +

Unicode 是字体在网页端最原始的应用方式,特点是:

+
    +
  • 兼容性最好,支持 IE6+,及所有现代浏览器。
  • +
  • 支持按字体的方式去动态调整图标大小,颜色等等。
  • +
  • 但是因为是字体,所以不支持多色。只能使用平台里单色的图标,就算项目里有多色图标也会自动去色。
  • +
+
+

注意:新版 iconfont 支持多色图标,这些多色图标在 Unicode 模式下将不能使用,如果有需求建议使用symbol 的引用方式

+
+

Unicode 使用步骤如下:

+

第一步:拷贝项目下面生成的 @font-face

+
@font-face {
+  font-family: 'iconfont';
+  src: url('iconfont.eot');
+  src: url('iconfont.eot?#iefix') format('embedded-opentype'),
+      url('iconfont.woff2') format('woff2'),
+      url('iconfont.woff') format('woff'),
+      url('iconfont.ttf') format('truetype'),
+      url('iconfont.svg#iconfont') format('svg');
+}
+
+

第二步:定义使用 iconfont 的样式

+
.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+

第三步:挑选相应图标并获取字体编码,应用于页面

+
+<span class="iconfont">&#x33;</span>
+
+
+

"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

+
+
+
+
+
    + +
  • + +
    + 移动 +
    +
    .icon-yidong +
    +
  • + +
  • + +
    + 展开 +
    +
    .icon-icon_xinyong_xianxing_jijin-135 +
    +
  • + +
  • + +
    + 缩小 +
    +
    .icon-suoxiao1 +
    +
  • + +
+
+

font-class 引用

+
+ +

font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。

+

与 Unicode 使用方式相比,具有如下特点:

+
    +
  • 兼容性良好,支持 IE8+,及所有现代浏览器。
  • +
  • 相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。
  • +
  • 因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。
  • +
  • 不过因为本质上还是使用的字体,所以多色图标还是不支持的。
  • +
+

使用步骤如下:

+

第一步:引入项目下面生成的 fontclass 代码:

+
<link rel="stylesheet" href="./iconfont.css">
+
+

第二步:挑选相应图标并获取类名,应用于页面:

+
<span class="iconfont icon-xxx"></span>
+
+
+

" + iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

+
+
+
+
+
    + +
  • + +
    移动
    +
    #icon-yidong
    +
  • + +
  • + +
    展开
    +
    #icon-icon_xinyong_xianxing_jijin-135
    +
  • + +
  • + +
    缩小
    +
    #icon-suoxiao1
    +
  • + +
+
+

Symbol 引用

+
+ +

这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇文章 + 这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:

+
    +
  • 支持多色图标了,不再受单色限制。
  • +
  • 通过一些技巧,支持像字体那样,通过 font-size, color 来调整样式。
  • +
  • 兼容性较差,支持 IE9+,及现代浏览器。
  • +
  • 浏览器渲染 SVG 的性能一般,还不如 png。
  • +
+

使用步骤如下:

+

第一步:引入项目下面生成的 symbol 代码:

+
<script src="./iconfont.js"></script>
+
+

第二步:加入通用 CSS 代码(引入一次就行):

+
<style>
+.icon {
+  width: 1em;
+  height: 1em;
+  vertical-align: -0.15em;
+  fill: currentColor;
+  overflow: hidden;
+}
+</style>
+
+

第三步:挑选相应图标并获取类名,应用于页面:

+
<svg class="icon" aria-hidden="true">
+  <use xlink:href="#icon-xxx"></use>
+</svg>
+
+
+
+ +
+
+ + + diff --git a/src/assets/css/iconfont/iconfont.css b/src/assets/css/iconfont/iconfont.css new file mode 100644 index 0000000..1d67068 --- /dev/null +++ b/src/assets/css/iconfont/iconfont.css @@ -0,0 +1,29 @@ +@font-face {font-family: "iconfont"; + src: url('iconfont.eot?t=1614996937660'); /* IE9 */ + src: url('iconfont.eot?t=1614996937660#iefix') format('embedded-opentype'), /* IE6-IE8 */ + url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAATQAAsAAAAACoAAAASEAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDHAqIJIZ2ATYCJAMQCwoABCAFhG0HXRv9CFGULUqa7IsCu7HY6LCpwyvKo719j2XzqgZTe+OkFXm0NIKn/WjzdvdENLlU0Sqa7xALhRBJEDLNQyUVslr+83+uFdD2BRdNsxTsfl53xiUWpQ12A7ylOcuIhVyEGcopwge0xfSKlwJq/cL9T3afbxaH2ZPQgqUGh0C7cSXOD3SoFmd3SSWxTuk+s+s29//v5+q0eVzTG9JiW1toX+7+5L2JOWrpp30alSReOZwuop1EqVAiiRAyGmOLfSXmiZHxMoFGo0jw3vn5DV0FPysQjxyhQdcRUyKmhnqhNuDGIp5R1acn6Q6Ap/Tz8RXW4UFSk/ELj+6cTNh+yLwuD5WAJZoMFpfB7TYy5kAKcS8wd60hfHNEGoNGN22A1EuZRFG7Cq+rKuHuCqk/E1n/8RJRi5NmqNcGMh8yFd6ihYgI0DpMkmCB3FCPCVDcAYjnuGbYfg3C1G9AXlLZzy8s/Jzx9vbCh3cACIxOIuTSUHt4GpnOQLOZfC4dzdAMNpuJxAQ6k4aml4RiTBoBBGVAzF2lae0QAuPcJKmBEp4v3RyKMSVJVUjJ+WuwmJlpn5tDvedOntnjc+VJnDLytNr3+vNEdfTZrv4HRT6nH8WoQ49LfU89jCb4pCksTSOaqT2Uw4EOQr2za+yTQQS52EwT9Mwka+2OlcaY44/t8rn2LEEde17re/VpvDL8ZPf4mTCl52yy79T5SLX3XErzSdsVyp12SwQRc807zbF99TkNZxA2yYPtBOvrJBhMc60xBDknAmHG/MF9XBzEab/3jsEY1YFRxnUKRuYhyphhANUZpwz07c0xWS4GFmuDnvQLHQYG41QF41Bm/lxKwrMvbd4e012Vj4LVOfCFcik/ZAB7w8r8vR4mPPTyx0UlRVAsrxi+WF8fNRylhi6K06TCHA8qhgX1GKYLp0LtvoDfBoUH3y6uxZcAL2TQ6fKCPHtS5P1LiQ6C5CPzv/7w0jqqauhdnLZEzV+zvrd8Z3/dooN/vDQuQfyd2QH+PTsuY7bfr+P/wKDA75DHl57htyFpPU2aD1uCWNn4tv7KPzcGwz7ofByEANXP3JV9qIblD/IKNtgnf5X1w/ckU4PH91gT5X+9tv5WvF9fe6AFVZ8C+TbAMYiJ8WDFhH3lK/B4KW+Pwv8mFy9EgLb6lEaNOESH6fQtItCTuEOod+ANkjojkNUbkxf1HNRosga16m1Co1nm7U26tBqiNGDGmkFot4Gk1TvI2l3kRf2BGr1+UKs9ZGh0EcQDm0zE+r4ak5aSiW6FicHSkpNp35j6SSLztdgukPmX4sRpIpeT5x66kKS4iEu6XKz71MIw5gAN9jryfcY6ZpeMdB6nabhhco2gT5p7HEDfrhjRpIgJuSooYWCSpS2f6nu+/xMRMj5NHCH6cfxFYgln74hDYxPIL0QmEm3K7E5OWOtPHQsKb5NZABmnDPGlHkN18HEuYkjNxRk6oQ3mtFiYlMyrDwRzeAM04k8okSJHiRq1jx2TpZj2f0cpHVnZWIpo8sUYYdeRZssZV1jssSXjgCqvIAg=') format('woff2'), + url('iconfont.woff?t=1614996937660') format('woff'), + url('iconfont.ttf?t=1614996937660') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ + url('iconfont.svg?t=1614996937660#iconfont') format('svg'); /* iOS 4.1- */ +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-yidong:before { + content: "\e633"; +} + +.icon-icon_xinyong_xianxing_jijin-135:before { + content: "\e648"; +} + +.icon-suoxiao1:before { + content: "\e62b"; +} + diff --git a/src/assets/css/iconfont/iconfont.eot b/src/assets/css/iconfont/iconfont.eot new file mode 100644 index 0000000..d7b5f85 Binary files /dev/null and b/src/assets/css/iconfont/iconfont.eot differ diff --git a/src/assets/css/iconfont/iconfont.js b/src/assets/css/iconfont/iconfont.js new file mode 100644 index 0000000..036cede --- /dev/null +++ b/src/assets/css/iconfont/iconfont.js @@ -0,0 +1 @@ +!function(t){var l,e,c,i,n,a,o='',d=(d=document.getElementsByTagName("script"))[d.length-1].getAttribute("data-injectcss");if(d&&!t.__iconfont__svg__cssinject__){t.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(t){console&&console.log(t)}}function h(){n||(n=!0,c())}l=function(){var t,l,e,c;(c=document.createElement("div")).innerHTML=o,o=null,(e=c.getElementsByTagName("svg")[0])&&(e.setAttribute("aria-hidden","true"),e.style.position="absolute",e.style.width=0,e.style.height=0,e.style.overflow="hidden",t=e,(l=document.body).firstChild?(c=t,(e=l.firstChild).parentNode.insertBefore(c,e)):l.appendChild(t))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(l,0):(e=function(){document.removeEventListener("DOMContentLoaded",e,!1),l()},document.addEventListener("DOMContentLoaded",e,!1)):document.attachEvent&&(c=l,i=t.document,n=!1,(a=function(){try{i.documentElement.doScroll("left")}catch(t){return void setTimeout(a,50)}h()})(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,h())})}(window); \ No newline at end of file diff --git a/src/assets/css/iconfont/iconfont.json b/src/assets/css/iconfont/iconfont.json new file mode 100644 index 0000000..bb4e9b4 --- /dev/null +++ b/src/assets/css/iconfont/iconfont.json @@ -0,0 +1,30 @@ +{ + "id": "2399064", + "name": "svg画图", + "font_family": "iconfont", + "css_prefix_text": "icon-", + "description": "", + "glyphs": [ + { + "icon_id": "9039260", + "name": "移动", + "font_class": "yidong", + "unicode": "e633", + "unicode_decimal": 58931 + }, + { + "icon_id": "16483269", + "name": "展开", + "font_class": "icon_xinyong_xianxing_jijin-135", + "unicode": "e648", + "unicode_decimal": 58952 + }, + { + "icon_id": "4641127", + "name": "缩小", + "font_class": "suoxiao1", + "unicode": "e62b", + "unicode_decimal": 58923 + } + ] +} diff --git a/src/assets/css/iconfont/iconfont.svg b/src/assets/css/iconfont/iconfont.svg new file mode 100644 index 0000000..597978a --- /dev/null +++ b/src/assets/css/iconfont/iconfont.svg @@ -0,0 +1,35 @@ + + + + + +Created by iconfont + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/css/iconfont/iconfont.ttf b/src/assets/css/iconfont/iconfont.ttf new file mode 100644 index 0000000..0ebea3c Binary files /dev/null and b/src/assets/css/iconfont/iconfont.ttf differ diff --git a/src/assets/css/iconfont/iconfont.woff b/src/assets/css/iconfont/iconfont.woff new file mode 100644 index 0000000..aef8314 Binary files /dev/null and b/src/assets/css/iconfont/iconfont.woff differ diff --git a/src/assets/css/iconfont/iconfont.woff2 b/src/assets/css/iconfont/iconfont.woff2 new file mode 100644 index 0000000..8cee0e1 Binary files /dev/null and b/src/assets/css/iconfont/iconfont.woff2 differ diff --git a/src/assets/css/index.css b/src/assets/css/index.css new file mode 100644 index 0000000..4c4d9ae --- /dev/null +++ b/src/assets/css/index.css @@ -0,0 +1,16 @@ +@font-face { + font-family: 'svgfont'; + src: url('iconfont/iconfont.eot'); + src: url('iconfont/iconfont.eot?#iefix') format('embedded-opentype'), + url('iconfont/iconfont.woff2') format('woff2'), + url('iconfont/iconfont.woff') format('woff'), + url('iconfont/iconfont.ttf') format('truetype'), + url('iconfont/iconfont.svg#iconfont') format('svg'); +} +.svgfont { +font-family: "svgfont" !important; +font-size: 16px; +font-style: normal; +-webkit-font-smoothing: antialiased; +-moz-osx-font-smoothing: grayscale; +} \ No newline at end of file diff --git a/src/assets/logo.png b/src/assets/logo.png new file mode 100644 index 0000000..f3d2503 Binary files /dev/null and b/src/assets/logo.png differ diff --git a/src/components/LeftToolBar.vue b/src/components/LeftToolBar.vue new file mode 100644 index 0000000..d4516b6 --- /dev/null +++ b/src/components/LeftToolBar.vue @@ -0,0 +1,148 @@ + + + + \ No newline at end of file diff --git a/src/components/RightToolBar.vue b/src/components/RightToolBar.vue new file mode 100644 index 0000000..826c528 --- /dev/null +++ b/src/components/RightToolBar.vue @@ -0,0 +1,137 @@ + + + + \ No newline at end of file diff --git a/src/components/SvgComponents.vue b/src/components/SvgComponents.vue new file mode 100644 index 0000000..0b7a8a2 --- /dev/null +++ b/src/components/SvgComponents.vue @@ -0,0 +1,63 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/Alternator.vue b/src/components/svgCpt/Alternator.vue new file mode 100644 index 0000000..4bf554e --- /dev/null +++ b/src/components/svgCpt/Alternator.vue @@ -0,0 +1,10 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/ArrowDownSvg.vue b/src/components/svgCpt/ArrowDownSvg.vue new file mode 100644 index 0000000..c84789f --- /dev/null +++ b/src/components/svgCpt/ArrowDownSvg.vue @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/ArrowUpSvg.vue b/src/components/svgCpt/ArrowUpSvg.vue new file mode 100644 index 0000000..721fea2 --- /dev/null +++ b/src/components/svgCpt/ArrowUpSvg.vue @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/ChargingStationSvg.vue b/src/components/svgCpt/ChargingStationSvg.vue new file mode 100644 index 0000000..a521396 --- /dev/null +++ b/src/components/svgCpt/ChargingStationSvg.vue @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/CircuitBreakerSvg.vue b/src/components/svgCpt/CircuitBreakerSvg.vue new file mode 100644 index 0000000..5863d2a --- /dev/null +++ b/src/components/svgCpt/CircuitBreakerSvg.vue @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/DoubleWindingSvg.vue b/src/components/svgCpt/DoubleWindingSvg.vue new file mode 100644 index 0000000..00febdd --- /dev/null +++ b/src/components/svgCpt/DoubleWindingSvg.vue @@ -0,0 +1,15 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/DoubleWindingSvgB.vue b/src/components/svgCpt/DoubleWindingSvgB.vue new file mode 100644 index 0000000..0c9be3a --- /dev/null +++ b/src/components/svgCpt/DoubleWindingSvgB.vue @@ -0,0 +1,15 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/GGJ.vue b/src/components/svgCpt/GGJ.vue new file mode 100644 index 0000000..6f1e9bd --- /dev/null +++ b/src/components/svgCpt/GGJ.vue @@ -0,0 +1,20 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/GroundGraySvg.vue b/src/components/svgCpt/GroundGraySvg.vue new file mode 100644 index 0000000..c5a057a --- /dev/null +++ b/src/components/svgCpt/GroundGraySvg.vue @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/HorizontalLineSvg.vue b/src/components/svgCpt/HorizontalLineSvg.vue new file mode 100644 index 0000000..3046972 --- /dev/null +++ b/src/components/svgCpt/HorizontalLineSvg.vue @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/IsolatingSwitchSvg.vue b/src/components/svgCpt/IsolatingSwitchSvg.vue new file mode 100644 index 0000000..98c1f6e --- /dev/null +++ b/src/components/svgCpt/IsolatingSwitchSvg.vue @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/LightningArresterSvg.vue b/src/components/svgCpt/LightningArresterSvg.vue new file mode 100644 index 0000000..4635d5a --- /dev/null +++ b/src/components/svgCpt/LightningArresterSvg.vue @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/PolylineDownSvg.vue b/src/components/svgCpt/PolylineDownSvg.vue new file mode 100644 index 0000000..e09e00e --- /dev/null +++ b/src/components/svgCpt/PolylineDownSvg.vue @@ -0,0 +1,10 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/PolylineUpSvg.vue b/src/components/svgCpt/PolylineUpSvg.vue new file mode 100644 index 0000000..9cb67e2 --- /dev/null +++ b/src/components/svgCpt/PolylineUpSvg.vue @@ -0,0 +1,10 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/RectSvg.vue b/src/components/svgCpt/RectSvg.vue new file mode 100644 index 0000000..e24c2d1 --- /dev/null +++ b/src/components/svgCpt/RectSvg.vue @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/SignalLamp.vue b/src/components/svgCpt/SignalLamp.vue new file mode 100644 index 0000000..9447260 --- /dev/null +++ b/src/components/svgCpt/SignalLamp.vue @@ -0,0 +1,11 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/SmartTerminalSvg.vue b/src/components/svgCpt/SmartTerminalSvg.vue new file mode 100644 index 0000000..6d6f29f --- /dev/null +++ b/src/components/svgCpt/SmartTerminalSvg.vue @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/StandardCapacitorSvg.vue b/src/components/svgCpt/StandardCapacitorSvg.vue new file mode 100644 index 0000000..13eea64 --- /dev/null +++ b/src/components/svgCpt/StandardCapacitorSvg.vue @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/StandardReactance.vue b/src/components/svgCpt/StandardReactance.vue new file mode 100644 index 0000000..6f59671 --- /dev/null +++ b/src/components/svgCpt/StandardReactance.vue @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/TableSvg.vue b/src/components/svgCpt/TableSvg.vue new file mode 100644 index 0000000..3e49dca --- /dev/null +++ b/src/components/svgCpt/TableSvg.vue @@ -0,0 +1,86 @@ + + + + \ No newline at end of file diff --git a/src/components/svgCpt/TextSvg.vue b/src/components/svgCpt/TextSvg.vue new file mode 100644 index 0000000..0bc4efc --- /dev/null +++ b/src/components/svgCpt/TextSvg.vue @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/src/components/svgCpt/TransformerTriphaseOpen.vue b/src/components/svgCpt/TransformerTriphaseOpen.vue new file mode 100644 index 0000000..ac55154 --- /dev/null +++ b/src/components/svgCpt/TransformerTriphaseOpen.vue @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/TransformerY.vue b/src/components/svgCpt/TransformerY.vue new file mode 100644 index 0000000..35618f2 --- /dev/null +++ b/src/components/svgCpt/TransformerY.vue @@ -0,0 +1,12 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/TwoCircleSvg.vue b/src/components/svgCpt/TwoCircleSvg.vue new file mode 100644 index 0000000..0e05e89 --- /dev/null +++ b/src/components/svgCpt/TwoCircleSvg.vue @@ -0,0 +1,10 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/VerticalLineSvg.vue b/src/components/svgCpt/VerticalLineSvg.vue new file mode 100644 index 0000000..200acdd --- /dev/null +++ b/src/components/svgCpt/VerticalLineSvg.vue @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/WireBreakOffSvg.vue b/src/components/svgCpt/WireBreakOffSvg.vue new file mode 100644 index 0000000..6fdff03 --- /dev/null +++ b/src/components/svgCpt/WireBreakOffSvg.vue @@ -0,0 +1,11 @@ + + + \ No newline at end of file diff --git a/src/components/svgCpt/WireConnectionSvg.vue b/src/components/svgCpt/WireConnectionSvg.vue new file mode 100644 index 0000000..08e7571 --- /dev/null +++ b/src/components/svgCpt/WireConnectionSvg.vue @@ -0,0 +1,11 @@ + + + \ No newline at end of file diff --git a/src/global/global.js b/src/global/global.js new file mode 100644 index 0000000..dbdb1e9 --- /dev/null +++ b/src/global/global.js @@ -0,0 +1,23 @@ +//当前选中的左侧工具栏参数类型 +let CurrentlySelectedToolBarType=''; +//当前选中的左侧工具栏参数类型名称 +let CurrentlySelectedToolBarTypeName=''; +//当前选中的左侧工具栏参数标题 +let CurrentlySelectedToolBarTitle=''; +//当前选中的左侧工具栏参数颜色 +let CurrentlySelectedToolBarColor=''; +//当前选中的左侧工具栏参数高度 +let CurrentlySelectedToolBarHeight=0; +//当前选中的左侧工具栏参数字号 +let CurrentlySelectedToolBarFontSize=0; +//当前选中的左侧工具栏文字 +let CurrentlySelectedToolBarText=''; +//当前选中的左侧工具栏参数宽度 +let CurrentlySelectedToolBarWidth=0; +//当前选中的左侧工具栏参数角度 +let CurrentlySelectedToolBarAngle=0; +let AnalogData=[{"id":"9be0a0cd-9a0d-4d2b-9147-bcc0da4af754","sort":0,"title":"横线","type":"HorizontalLineSvg","typeName":"横线","svgColor":"#FF0000","svgPositionX":462,"svgPositionY":172,"height":480,"width":3,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"bd3fc10b-87c7-4313-9deb-eecf9d26e49b","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":329,"svgPositionY":197,"height":50,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"8cc07bd7-333c-44cc-9ba8-efd2036681c6","sort":0,"title":"多段向上折线","type":"PolylineUpSvg","typeName":"多段向上折线","svgColor":"#FF0000","svgPositionX":329,"svgPositionY":231,"height":7,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"2016eda6-05cd-4fb4-8bfe-8fd28028a7fe","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":329,"svgPositionY":258,"height":100,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"07072f96-3226-42a2-82b5-1bec650e316b","sort":0,"title":"断路器","height":40,"width":2,"type":"CircuitBreakerSvg","typeName":"断路器","svgColor":"#00FF00","svgPositionX":329,"svgPositionY":269,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"e32f91cf-d42e-4e45-ac3c-a66eb70edd7d","sort":0,"title":"多段向下折线","type":"PolylineDownSvg","typeName":"多段向下折线","svgColor":"#FF0000","svgPositionX":329,"svgPositionY":288,"height":7,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"a6e96cae-ed83-4240-8bd4-e6dab956f341","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":329,"svgPositionY":418,"height":200,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"125d5c83-07bc-49d7-8829-d54bf3f20bf7","sort":0,"title":"横线","type":"HorizontalLineSvg","typeName":"横线","svgColor":"#FF0000","svgPositionX":329,"svgPositionY":421,"height":100,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"073baebc-e4f5-4d3f-8083-7c49849cc40c","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":280,"svgPositionY":436,"height":30,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"8f596ae9-67ac-452a-bbcf-44e677ddb0cb","sort":0,"title":"避雷器","height":7,"width":2,"type":"LightningArresterSvg","typeName":"避雷器","svgColor":"#00FF00","svgPositionX":280,"svgPositionY":473,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"e093b906-50b0-4558-899a-30cca3897233","sort":0,"title":"接地灰白","type":"GroundGraySvg","typeName":"接地灰白","svgColor":"#CCCCCC","svgPositionX":280,"svgPositionY":507,"height":3,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"33dc8913-f19f-4d63-8400-357aa75b9751","sort":0,"title":"箭头向上","type":"ArrowUpSvg","typeName":"箭头向上","svgColor":"#FF0000","svgPositionX":329,"svgPositionY":463,"height":2,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"ba79056e-1ec1-4619-8cd7-3a78ea8a4e77","sort":0,"title":"标准电容器","height":3,"width":2,"type":"StandardCapacitorSvg","typeName":"标准电容器","svgColor":"#00FF00","svgPositionX":378,"svgPositionY":461,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"c046e434-bc10-465c-8552-43477289ff50","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":378,"svgPositionY":436,"height":30,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"fa0130b7-7f39-4ee8-a447-27be23ee2c6a","sort":0,"title":"信号灯","type":"SignalLamp","typeName":"信号灯","svgColor":"#FF0000","svgPositionX":378,"svgPositionY":488,"height":3,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"09f8f237-979e-43ed-8256-e113d6eb1bae","sort":0,"title":"接地灰白","type":"GroundGraySvg","typeName":"接地灰白","svgColor":"#CCCCCC","svgPositionX":378,"svgPositionY":507,"height":3,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"06d381f6-e56e-4d5e-8d07-348ae2e00a84","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":394,"svgPositionY":197,"height":50,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"6010720d-bf08-459e-9d9b-538f9e4e184e","sort":0,"title":"隔离开关","height":20,"width":2,"type":"IsolatingSwitchSvg","typeName":"隔离开关","svgColor":"#00FF00","svgPositionX":394,"svgPositionY":233,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"52f29f75-1197-440c-802a-66d21c344be4","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":394,"svgPositionY":318,"height":100,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"aa8983a4-8037-4e2e-82f9-63b1ce0959d5","sort":0,"title":"长方形","type":"RectSvg","typeName":"长方形","svgColor":"#FF0000","svgPositionX":394,"svgPositionY":288,"height":30,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"0c03846c-91ef-4513-b289-bdea21989bdf","sort":0,"title":"横线","type":"HorizontalLineSvg","typeName":"横线","svgColor":"#FF0000","svgPositionX":411,"svgPositionY":258,"height":30,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"b921ac37-f563-46ed-8205-66c9d763c874","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":426,"svgPositionY":263,"height":10,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"756a5fe8-362a-4f75-8465-637ff7516f66","sort":0,"title":"标准电容器","height":3,"width":2,"type":"StandardCapacitorSvg","typeName":"标准电容器","svgColor":"#00FF00","svgPositionX":426,"svgPositionY":280,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"74aee225-e0c0-4966-9c65-a7957de7ecd8","sort":0,"title":"信号灯","type":"SignalLamp","typeName":"信号灯","svgColor":"#FF0000","svgPositionX":426,"svgPositionY":304,"height":3,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"f7feda8d-cf80-411b-9a6b-9d7b3372b9a3","sort":0,"title":"接地灰白","type":"GroundGraySvg","typeName":"接地灰白","svgColor":"#CCCCCC","svgPositionX":426,"svgPositionY":322,"height":3,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"a4f0bb2a-4328-4aab-a3aa-487cc835b365","sort":0,"title":"横线","type":"HorizontalLineSvg","typeName":"横线","svgColor":"#FF0000","svgPositionX":394,"svgPositionY":370,"height":100,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"7f06d0a0-92d9-491d-88f1-871844227bdb","sort":0,"title":"双圆","type":"TwoCircleSvg","typeName":"双圆","svgColor":"#FF0000","svgPositionX":344,"svgPositionY":370,"height":3,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"a72d5f30-116b-4e0b-9159-38414419cfef","sort":0,"title":"双圆","type":"TwoCircleSvg","typeName":"双圆","svgColor":"#FF0000","svgPositionX":451,"svgPositionY":371,"height":3,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"ac433a91-3ffb-4c34-a6f3-6ca4eb296d7f","sort":0,"title":"文字","type":"TextSvg","typeName":"文字","svgColor":"#ffff00","svgPositionX":921,"svgPositionY":62,"height":0,"fontSize":50,"svgText":"项目部测试配电图","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"6d195b03-9b53-4f97-976a-cb58833cc7ee","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":525,"svgPositionY":298,"height":250,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"4d3bb514-f973-4943-8521-9f7294377a43","sort":0,"title":"多段向上折线","type":"PolylineUpSvg","typeName":"多段向上折线","svgColor":"#FF0000","svgPositionX":525,"svgPositionY":231,"height":7,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"3b1dc203-3d8c-458e-8d8d-54f78af6417a","sort":0,"title":"长方形","type":"RectSvg","typeName":"长方形","svgColor":"#FF0000","svgPositionX":526,"svgPositionY":284,"height":30,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"58e58f3c-5680-4632-844c-bc55624b7eec","sort":0,"title":"双绕组变压器","type":"DoubleWindingSvg","typeName":"双绕组变压器","svgColor":"#FF0000","svgPositionX":1436,"svgPositionY":329,"height":5,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"63d17a38-2b47-4c49-83f7-fcc125e79ac5","sort":0,"title":"横线","type":"HorizontalLineSvg","typeName":"横线","svgColor":"#FF0000","svgPositionX":501,"svgPositionY":258,"height":50,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"928ff169-0834-4e77-86c3-ce0c6038d43a","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":478,"svgPositionY":384,"height":150,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"f65a7822-e1f0-4d2a-8f08-1bc7eccede04","sort":0,"title":"避雷器","height":7,"width":2,"type":"LightningArresterSvg","typeName":"避雷器","svgColor":"#00FF00","svgPositionX":478,"svgPositionY":281,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"cca0cd00-e4de-4b27-8cfb-b1a694f85321","sort":0,"title":"接地灰白","type":"GroundGraySvg","typeName":"接地灰白","svgColor":"#CCCCCC","svgPositionX":478,"svgPositionY":466,"height":3,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"f606321f-9521-4f6c-86fd-c2bb5c77f93e","sort":0,"title":"断路器","height":40,"width":2,"type":"CircuitBreakerSvg","typeName":"断路器","svgColor":"#FF0000","svgPositionX":1196,"svgPositionY":269,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"030dd31b-b26f-4c34-a25b-e13a1e5d5e58","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":609,"svgPositionY":297,"height":250,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"ccaa1dcd-b689-4ec7-9c9d-4f3318b68ceb","sort":0,"title":"多段向上折线","type":"PolylineUpSvg","typeName":"多段向上折线","svgColor":"#FF0000","svgPositionX":609,"svgPositionY":231,"height":7,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"bf544396-98c4-4bec-8203-9968c56c9304","sort":0,"title":"断路器","height":40,"width":2,"type":"CircuitBreakerSvg","typeName":"断路器","svgColor":"#FF0000","svgPositionX":609,"svgPositionY":269,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"80905709-a47b-4dbb-89d9-884e3cf76017","sort":0,"title":"多段向下折线","type":"PolylineDownSvg","typeName":"多段向下折线","svgColor":"#FF0000","svgPositionX":609,"svgPositionY":288,"height":7,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"485f95e0-e72a-4258-8382-f9314c3cf113","sort":0,"title":"横线","type":"HorizontalLineSvg","typeName":"横线","svgColor":"#FF0000","svgPositionX":631,"svgPositionY":452,"height":150,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"b2cbbecf-7c38-42fb-b1bd-38d882600b11","sort":0,"title":"隔离开关","height":20,"width":2,"type":"IsolatingSwitchSvg","typeName":"隔离开关","svgColor":"#00FF00","svgPositionX":557,"svgPositionY":473,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"18b02672-1f02-4662-8ea8-4e702b012ef1","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":609,"svgPositionY":466,"height":150,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"9b9070a6-3eec-43fb-8b60-6de464a61cf9","sort":0,"title":"避雷器","height":7,"width":2,"type":"LightningArresterSvg","typeName":"避雷器","svgColor":"#00FF00","svgPositionX":649,"svgPositionY":488,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"2e972c3b-3eb6-42a9-bef0-e6b968b5017f","sort":0,"title":"标准电容器","height":3,"width":2,"type":"StandardCapacitorSvg","typeName":"标准电容器","svgColor":"#00FF00","svgPositionX":704,"svgPositionY":484,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"d4712840-4512-4aaa-8cb7-96ef94c20d7d","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":704,"svgPositionY":463,"height":20,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"f66406d5-6378-41d4-88d1-161b47e3cca3","sort":0,"title":"信号灯","type":"SignalLamp","typeName":"信号灯","svgColor":"#FF0000","svgPositionX":704,"svgPositionY":508,"height":3,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"66ce946a-19ed-4f3c-89eb-8131e943c47e","sort":0,"title":"接地灰白","type":"GroundGraySvg","typeName":"接地灰白","svgColor":"#CCCCCC","svgPositionX":704,"svgPositionY":527,"height":3,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"954d2252-934a-4f35-a68f-3af22eb7423a","sort":0,"title":"接地灰白","type":"GroundGraySvg","typeName":"接地灰白","svgColor":"#CCCCCC","svgPositionX":649,"svgPositionY":522,"height":3,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"4c1bda96-dc8c-43f3-93fa-80de4572c6cc","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":649,"svgPositionY":461,"height":15,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"a7b0e2ab-5197-4565-875d-a19f934b6a14","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":679,"svgPositionY":299,"height":250,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"1088e3c3-6d62-4666-8dd8-c28611665ee5","sort":0,"title":"多段向上折线","type":"PolylineUpSvg","typeName":"多段向上折线","svgColor":"#FF0000","svgPositionX":679,"svgPositionY":231,"height":7,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"cdf12feb-3553-4191-8216-803584b031bb","sort":0,"title":"断路器","height":40,"width":2,"type":"CircuitBreakerSvg","typeName":"断路器","svgColor":"#00FF00","svgPositionX":679,"svgPositionY":269,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"695062bc-77ac-4d44-8b30-c91346786092","sort":0,"title":"多段向下折线","type":"PolylineDownSvg","typeName":"多段向下折线","svgColor":"#FF0000","svgPositionX":679,"svgPositionY":288,"height":7,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"31816770-1c14-4c7d-b059-16332fe905fc","sort":0,"title":"横线","type":"HorizontalLineSvg","typeName":"横线","svgColor":"#FF0000","svgPositionX":692,"svgPositionY":335,"height":30,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"bb404f6d-53a0-41da-82de-3af033949f54","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":706,"svgPositionY":339,"height":10,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"2b94f9be-127b-4e99-809f-827b2dce3236","sort":0,"title":"避雷器","height":7,"width":2,"type":"LightningArresterSvg","typeName":"避雷器","svgColor":"#00FF00","svgPositionX":706,"svgPositionY":366,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"8915e940-8148-4821-9923-1f49879202f8","sort":0,"title":"接地灰白","type":"GroundGraySvg","typeName":"接地灰白","svgColor":"#CCCCCC","svgPositionX":706,"svgPositionY":400,"height":3,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"febca392-ed96-4a95-8639-cac4431e08cd","sort":0,"title":"横线","type":"HorizontalLineSvg","typeName":"横线","svgColor":"#FF0000","svgPositionX":755,"svgPositionY":422,"height":150,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"e1d775e2-4a29-41a0-bff5-fc8540ba8a79","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":829,"svgPositionY":299,"height":250,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"8d3c43d0-8558-48b5-b3b2-04e51de059de","sort":0,"title":"横线","type":"HorizontalLineSvg","typeName":"横线","svgColor":"#FF0000","svgPositionX":1015,"svgPositionY":172,"height":400,"width":4,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"16935977-d4a5-47a2-81c0-38d6a5c7b1f1","sort":0,"title":"多段向上折线","type":"PolylineUpSvg","typeName":"多段向上折线","svgColor":"#FF0000","svgPositionX":829,"svgPositionY":231,"height":7,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"1bcc3909-c5a8-4ecb-81f7-aea90c5ab36c","sort":0,"title":"多段向下折线","type":"PolylineDownSvg","typeName":"多段向下折线","svgColor":"#FF0000","svgPositionX":829,"svgPositionY":288,"height":7,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"141e3637-6c7e-4ff1-8d60-cd1a236bc0b7","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":900,"svgPositionY":322,"height":300,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"b1de897d-9911-43e7-8fd6-57152a0cbb5f","sort":0,"title":"多段向上折线","type":"PolylineUpSvg","typeName":"多段向上折线","svgColor":"#FF0000","svgPositionX":900,"svgPositionY":231,"height":7,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"115c211e-2ca6-4e94-8f06-21b2fea888be","sort":0,"title":"多段向下折线","type":"PolylineDownSvg","typeName":"多段向下折线","svgColor":"#FF0000","svgPositionX":900,"svgPositionY":288,"height":7,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"9afcf750-f6cd-4379-a96b-bc7b8a0b3aa1","sort":0,"title":"断路器","height":40,"width":2,"type":"CircuitBreakerSvg","typeName":"断路器","svgColor":"#00FF00","svgPositionX":900,"svgPositionY":269,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"51b3e49e-b065-4b95-8379-458c98020376","sort":0,"title":"接地灰白","type":"GroundGraySvg","typeName":"接地灰白","svgColor":"#CCCCCC","svgPositionX":557,"svgPositionY":519,"height":3,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"7373444f-a455-4faf-ac88-dbdb177819b5","sort":0,"title":"横线","type":"HorizontalLineSvg","typeName":"横线","svgColor":"#FF0000","svgPositionX":921,"svgPositionY":368,"height":100,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"1abd6dfb-b62b-4358-99b2-58a08c4305be","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":870,"svgPositionY":372,"height":10,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"f2221130-eb29-4d87-bd40-c03cbdd9c53c","sort":0,"title":"隔离开关","height":20,"width":2,"type":"IsolatingSwitchSvg","typeName":"隔离开关","svgColor":"#00FF00","svgPositionX":870,"svgPositionY":398,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"cf9ee34e-fbd5-4012-b557-f29a87f00993","sort":0,"title":"接地灰白","type":"GroundGraySvg","typeName":"接地灰白","svgColor":"#CCCCCC","svgPositionX":870,"svgPositionY":444,"height":3,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"5eae9221-ad33-4e3f-973c-c4ae791ccb05","sort":0,"title":"箭头向下","type":"ArrowDownSvg","typeName":"箭头向下","svgColor":"#FF0000","svgPositionX":900,"svgPositionY":418,"height":2,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"a62ace69-2eb5-4b67-84e5-1048f1492d0a","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":933,"svgPositionY":381,"height":20,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"066cc47b-2a48-48ee-845a-9715cee5680e","sort":0,"title":"避雷器","height":7,"width":2,"type":"LightningArresterSvg","typeName":"避雷器","svgColor":"#00FF00","svgPositionX":933,"svgPositionY":412,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"297350de-f4ba-452a-8f27-1337e1b969b6","sort":0,"title":"接地灰白","type":"GroundGraySvg","typeName":"接地灰白","svgColor":"#CCCCCC","svgPositionX":933,"svgPositionY":446,"height":3,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"7958bd7e-9469-4141-9f52-362855563df8","sort":0,"title":"标准电容器","height":3,"width":2,"type":"StandardCapacitorSvg","typeName":"标准电容器","svgColor":"#00FF00","svgPositionX":970,"svgPositionY":408,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"222c398a-c075-41f0-84cc-ef9ba7555f7d","sort":0,"title":"信号灯","type":"SignalLamp","typeName":"信号灯","svgColor":"#FF0000","svgPositionX":970,"svgPositionY":431,"height":3,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"29022eef-91db-4cf6-9a63-42ffe32b64a9","sort":0,"title":"接地灰白","type":"GroundGraySvg","typeName":"接地灰白","svgColor":"#CCCCCC","svgPositionX":970,"svgPositionY":451,"height":3,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"01a01a0a-52db-4400-9dc4-a4651ef13dc7","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":970,"svgPositionY":384,"height":30,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"e6209f92-f3a7-46b8-af4a-4eac5102a91a","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":1038,"svgPositionY":324,"height":300,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"b5b5482b-b370-4406-9dc3-8d9219c0314f","sort":0,"title":"多段向上折线","type":"PolylineUpSvg","typeName":"多段向上折线","svgColor":"#FF0000","svgPositionX":1038,"svgPositionY":231,"height":7,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"07eb7645-8192-475c-b320-d0b05d895665","sort":0,"title":"多段向下折线","type":"PolylineDownSvg","typeName":"多段向下折线","svgColor":"#FF0000","svgPositionX":1038,"svgPositionY":288,"height":7,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"af807b4a-0830-4b23-81ab-f8b53dae6979","sort":0,"title":"断路器","height":40,"width":2,"type":"CircuitBreakerSvg","typeName":"断路器","svgColor":"#00FF00","svgPositionX":1038,"svgPositionY":269,"tableRowCount":2,"tableColCount":2,"tableData":[],"angle":0},{"id":"3cbba043-83c8-4bfa-8fd4-5892e7ed27a1","sort":0,"title":"横线","type":"HorizontalLineSvg","typeName":"横线","svgColor":"#FF0000","svgPositionX":1052,"svgPositionY":368,"height":100,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"b0ab032b-c942-4b4b-aede-ccc8d8dc8024","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":1003,"svgPositionY":372,"height":10,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"6103fdc6-2769-47ec-9270-7c7cd75d43ef","sort":0,"title":"隔离开关","height":20,"width":2,"type":"IsolatingSwitchSvg","typeName":"隔离开关","svgColor":"#00FF00","svgPositionX":1003,"svgPositionY":398,"tableRowCount":2,"angle":0,"tableColCount":2,"tableData":[]},{"id":"7e9fa9d9-4bd5-4d47-8d4a-3cc3720799f8","sort":0,"title":"接地灰白","type":"GroundGraySvg","typeName":"接地灰白","svgColor":"#CCCCCC","svgPositionX":1003,"svgPositionY":444,"height":3,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"1a20f61a-b18d-4ab5-8a46-fbbd5b9993ec","sort":0,"title":"箭头向下","type":"ArrowDownSvg","typeName":"箭头向下","svgColor":"#FF0000","svgPositionX":1038,"svgPositionY":418,"height":2,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"52f85fd1-c736-428a-9371-bb5062b56f09","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":1067,"svgPositionY":381,"height":20,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"ac123ad8-945b-4d56-914b-b2d54e8aa3fd","sort":0,"title":"避雷器","height":7,"width":2,"type":"LightningArresterSvg","typeName":"避雷器","svgColor":"#00FF00","svgPositionX":1067,"svgPositionY":412,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"1bd502bb-11e2-4072-8cb9-0b3a29b9c7f8","sort":0,"title":"接地灰白","type":"GroundGraySvg","typeName":"接地灰白","svgColor":"#CCCCCC","svgPositionX":1067,"svgPositionY":446,"height":3,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"80343987-648e-4cf0-bf2c-9a7a8f636668","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":1102,"svgPositionY":384,"height":30,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"b2917612-cf9d-404a-8706-393e9a8ff5d6","sort":0,"title":"标准电容器","height":3,"width":2,"type":"StandardCapacitorSvg","typeName":"标准电容器","svgColor":"#00FF00","svgPositionX":1102,"svgPositionY":408,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"41d3d4ed-ba2a-49af-8913-3f34843e6e2c","sort":0,"title":"信号灯","type":"SignalLamp","typeName":"信号灯","svgColor":"#FF0000","svgPositionX":1102,"svgPositionY":433,"height":3,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"19c38337-6fe1-4861-9049-af7a5ade3b4c","sort":0,"title":"接地灰白","type":"GroundGraySvg","typeName":"接地灰白","svgColor":"#CCCCCC","svgPositionX":1102,"svgPositionY":453,"height":3,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"89e4834b-b5b5-4198-982a-d7988229e6a0","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":1196,"svgPositionY":210,"height":80,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"8c17ef6b-eeb6-4502-81db-d15f9b0cae38","sort":0,"title":"多段向上折线","type":"PolylineUpSvg","typeName":"多段向上折线","svgColor":"#FF0000","svgPositionX":1196,"svgPositionY":231,"height":7,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"60604dcd-d1ff-46e7-91ed-0a0a5774bdcb","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":1196,"svgPositionY":364,"height":150,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"b8bb1e03-0601-4c74-8c1b-5d75fd533164","sort":0,"title":"多段向下折线","type":"PolylineDownSvg","typeName":"多段向下折线","svgColor":"#FF0000","svgPositionX":1196,"svgPositionY":288,"height":7,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"a6f7c216-e76c-4cc3-8e8d-3e1721960a19","sort":0,"title":"横线","type":"HorizontalLineSvg","typeName":"横线","svgColor":"#FF0000","svgPositionX":1196,"svgPositionY":437,"height":100,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"07a4237f-2e10-46be-8c8e-0e5af16245ed","sort":0,"title":"双圆","type":"TwoCircleSvg","typeName":"双圆","svgColor":"#FF0000","svgPositionX":1146,"svgPositionY":436,"height":3,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"125a6dc5-ff47-4914-9570-db8d6ad232d0","sort":0,"title":"双圆","type":"TwoCircleSvg","typeName":"双圆","svgColor":"#FF0000","svgPositionX":1250,"svgPositionY":436,"height":3,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"6d2e1881-5025-420c-899a-40e66eceb730","sort":0,"title":"横线","type":"HorizontalLineSvg","typeName":"横线","svgColor":"#FF0000","svgPositionX":1237,"svgPositionY":473,"height":400,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"821fa32a-6565-42eb-8ab5-e0c3ad076882","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":1436,"svgPositionY":423,"height":100,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"7835fdf2-2c8d-44b2-8882-44dfaaea17c2","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":1436,"svgPositionY":231,"height":100,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"9a630575-d2e7-482d-b008-67739d5e212b","sort":0,"title":"横线","type":"HorizontalLineSvg","typeName":"横线","svgColor":"#FF0000","svgPositionX":1509,"svgPositionY":179,"height":150,"width":4,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"a10f232e-a757-47a9-8adc-328a5e8f98e1","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":1583,"svgPositionY":255,"height":150,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"f805f148-832b-4e7f-8130-73a381aa1bf2","sort":0,"title":"电容柜","type":"GGJSvg","typeName":"电容柜","svgColor":"#FF6600","svgPositionX":1583,"svgPositionY":473,"height":1,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"3499f40a-f7a8-42cb-8e23-5af5ca289cb2","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":234,"svgPositionY":396,"height":450,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"da68f29b-cd74-44a1-b451-ae91fe5cda66","sort":0,"title":"横线","type":"HorizontalLineSvg","typeName":"横线","svgColor":"#ff8800","svgPositionX":609,"svgPositionY":621,"height":750,"width":4,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"0c9be9fb-2d47-4965-8288-85279bd54954","sort":0,"title":"发电机","type":"AlternatorSvg","typeName":"发电机","svgColor":"#FF0000","svgPositionX":1583,"svgPositionY":364,"height":5,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"9e7c1a24-cc26-43c1-9243-bf43280762fd","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":1583,"svgPositionY":423,"height":50,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"f3316b90-d109-493b-86cb-cffdff3d0e07","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":280,"svgPositionY":699,"height":150,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"3a47c15b-9b64-4d44-8c55-711820fce141","sort":0,"title":"多段向上折线","type":"PolylineUpSvg","typeName":"多段向上折线","svgColor":"#FF0000","svgPositionX":280,"svgPositionY":676,"height":7,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"c0e238ff-dd22-4ef6-af85-e599ef87fb0f","sort":0,"title":"断路器","height":40,"width":2,"type":"CircuitBreakerSvg","typeName":"断路器","svgColor":"#FF0000","svgPositionX":280,"svgPositionY":710,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"7cc50977-897e-4c44-bfd5-5c2df938eb1f","sort":0,"title":"多段向下折线","type":"PolylineDownSvg","typeName":"多段向下折线","svgColor":"#FF0000","svgPositionX":280,"svgPositionY":722,"height":7,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"a4e77e1c-0b19-4a3e-bd90-4c42c9503a7b","sort":0,"title":"箭头向下","type":"ArrowDownSvg","typeName":"箭头向下","svgColor":"#FF0000","svgPositionX":378,"svgPositionY":791,"height":2,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"f4e1eb27-a969-421f-b032-0baae953776f","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":378,"svgPositionY":649,"height":50,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"75fa8a89-344d-4de7-8dd4-aa73dae3ad09","sort":0,"title":"电线开关","height":5,"width":2,"type":"WireConnectionSvg","typeName":"电线开关","svgColor":"#FF0000","svgPositionX":378,"svgPositionY":710,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"1b9e3deb-1cbe-408e-a1dc-f3c1bb693047","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":378,"svgPositionY":803,"height":100,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"21ab9615-026a-41e9-8b0d-a8e2b1626fab","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":982,"svgPositionY":673,"height":100,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"cbaa0e69-3a3f-43bb-a5a8-0aab6ce1505b","sort":0,"title":"双绕组变压器B","type":"DoubleWindingSvgB","typeName":"双绕组变压器B","svgColor":"#FF0000","svgPositionX":982,"svgPositionY":763,"height":5,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"5e3d8287-5ae1-473e-9b71-cab39e269ca8","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":982,"svgPositionY":836,"height":50,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"852fea49-87d1-43b5-8f5d-e1285db5853e","sort":0,"title":"横线","type":"HorizontalLineSvg","typeName":"横线","svgColor":"#FF0000","svgPositionX":1156,"svgPositionY":861,"height":350,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"6456fa14-8b6f-4826-8ad8-027eb25f0442","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":1330,"svgPositionY":743,"height":240,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"4ad6b37a-e518-4fe8-a0cd-0d714e45eb32","sort":0,"title":"表格","type":"TableSvg","typeName":"表格","svgColor":"#CCCC33","svgPositionX":1052,"svgPositionY":649,"tableRowCount":4,"tableColCount":2,"angle":0,"tableData":[{"cols":[{"id":"1d2328a7-d968-4de3-84d8-836525ff294d","val":"Ia"},{"id":"ff85bc7f-3b69-454f-8cf8-21c9f1903dd6","val":26}]},{"cols":[{"id":"37d569c4-9d81-49c2-bf36-7e90694c44c9","val":"P"},{"id":"f8271273-d07d-4033-8b6c-6b52c04fe3e5","val":28}]},{"cols":[{"id":"eab70035-4904-420c-8fcd-137d8f761ada","val":"Q"},{"id":"dc5931bc-7e8e-47f4-b28e-5bc42fb207da","val":55}]},{"cols":[{"id":"5cc2166e-9e25-4286-b0e1-b7b5aaf6f14c","val":"Cos"},{"id":"560f5404-6539-422f-8fb9-77bac641e72b","val":59}]}]},{"id":"5037914a-1ffa-4589-85c0-a3a32bb029a5","sort":0,"title":"横线","type":"HorizontalLineSvg","typeName":"横线","svgColor":"#ffa200","svgPositionX":1484,"svgPositionY":621,"height":350,"width":4,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"af52a677-7fe2-47d8-814b-a36e92f0fe53","sort":0,"title":"电流互感器y","type":"TransformerYSvg","typeName":"电流互感器y","svgColor":"#FF0000","svgPositionX":525,"svgPositionY":436,"height":5,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"d4c69c8a-b4af-418c-b4e7-8075887d0c40","sort":0,"title":"电流互感器y","type":"TransformerYSvg","typeName":"电流互感器y","svgColor":"#FF0000","svgPositionX":515,"svgPositionY":451,"height":5,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"44acfdb8-eef5-4e16-95ac-724c26b6cfa0","sort":0,"title":"三相互感器开口","type":"TransformerTriphaseOpenSvg","typeName":"三相互感器开口","svgColor":"#FF0000","svgPositionX":534,"svgPositionY":452,"height":2,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"cbd7ffeb-99b5-4c4e-8d5e-f3a6fa39a788","sort":0,"title":"横线","type":"HorizontalLineSvg","typeName":"横线","svgColor":"#FF0000","svgPositionX":497,"svgPositionY":434,"height":40,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"43143c51-b2e0-4eba-81e2-3c5a9649e76a","sort":0,"title":"横线","type":"HorizontalLineSvg","typeName":"横线","svgColor":"#FF0000","svgPositionX":491,"svgPositionY":453,"height":28,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"b542a270-930b-40e5-8a92-51c0f0a8ddb0","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":1509,"svgPositionY":699,"height":150,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"aa60a8a0-5314-4aed-9056-8c56eda61396","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":1629,"svgPositionY":699,"height":150,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"db193759-fa7b-4a24-8e8e-b1d0665eb755","sort":0,"title":"电容柜","type":"GGJSvg","typeName":"电容柜","svgColor":"#FF6600","svgPositionX":1509,"svgPositionY":803,"height":1,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"4bed641e-3bfa-4e8b-9667-58357750138b","sort":0,"title":"电容柜","type":"GGJSvg","typeName":"电容柜","svgColor":"#FF6600","svgPositionX":1629,"svgPositionY":803,"height":1,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"8215090c-7ec0-42a6-8e0e-6c428df6030e","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":478,"svgPositionY":649,"height":50,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"725e7499-e25b-4c5b-869f-e2ee7d62155c","sort":0,"title":"电线开关","height":5,"width":2,"type":"WireBreakOffSvg","typeName":"电线开关","svgColor":"#FF0000","svgPositionX":478,"svgPositionY":710,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"490a0abf-892a-4733-9c3e-fc816c11f861","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":478,"svgPositionY":803,"height":100,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"addbc195-43ae-44f9-8b74-79f884864d5f","sort":0,"title":"箭头向下","type":"ArrowDownSvg","typeName":"箭头向下","svgColor":"#FF0000","svgPositionX":478,"svgPositionY":791,"height":2,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"6fe82700-d5e8-46e7-857a-52d7a614f8b2","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":557,"svgPositionY":649,"height":50,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"f500f290-99aa-4fec-90ff-6bc2fc1e3f9b","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":665,"svgPositionY":649,"height":50,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"aeee9b33-e9c8-4016-8719-8649e47abaf7","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":746,"svgPositionY":649,"height":50,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"acf1abb4-d423-4ebd-88ac-fc9687dd9994","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":831,"svgPositionY":649,"height":50,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"81fb058b-d73f-4d5e-85f5-08170bf4fe0b","sort":0,"title":"电线开关","height":5,"width":2,"type":"WireConnectionSvg","typeName":"电线开关","svgColor":"#FF0000","svgPositionX":557,"svgPositionY":710,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"46604207-e02d-4eb6-8551-f9079642171f","sort":0,"title":"电线开关","height":5,"width":2,"type":"WireConnectionSvg","typeName":"电线开关","svgColor":"#FF0000","svgPositionX":665,"svgPositionY":710,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"86bfa5bd-b4c7-44e2-8c61-9056eaecab04","sort":0,"title":"电线开关","height":5,"width":2,"type":"WireBreakOffSvg","typeName":"电线开关","svgColor":"#00FF00","svgPositionX":746,"svgPositionY":710,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"e40a5a30-5f6c-4f51-8c9b-6ea4967777de","sort":0,"title":"电线开关","height":5,"width":2,"type":"WireConnectionSvg","typeName":"电线开关","svgColor":"#FF0000","svgPositionX":831,"svgPositionY":710,"tableRowCount":2,"tableColCount":2,"angle":0,"tableData":[]},{"id":"87ba75fe-1dfc-4a19-84d8-5606d9727083","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":557,"svgPositionY":803,"height":100,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"e9a7a17d-83e3-484a-882d-12d6b53cd971","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":665,"svgPositionY":803,"height":100,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"6e027c8a-ef3c-45e4-add3-b5701785b4a2","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":746,"svgPositionY":803,"height":100,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"790165a3-3d16-4f6d-93e4-a6b07c0d0a96","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":831,"svgPositionY":803,"height":100,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"84fd81de-00f9-4960-85d1-2bb363d7c06b","sort":0,"title":"箭头向下","type":"ArrowDownSvg","typeName":"箭头向下","svgColor":"#FF0000","svgPositionX":557,"svgPositionY":791,"height":2,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"c0c2be89-91d7-48f2-a71b-cfa6bd07024e","sort":0,"title":"箭头向下","type":"ArrowDownSvg","typeName":"箭头向下","svgColor":"#FF0000","svgPositionX":665,"svgPositionY":791,"height":2,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"8dab7097-5100-4fab-81f5-60007b1f3719","sort":0,"title":"箭头向下","type":"ArrowDownSvg","typeName":"箭头向下","svgColor":"#FF0000","svgPositionX":746,"svgPositionY":791,"height":2,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"df6590fd-f304-4655-93eb-ac18658f25e9","sort":0,"title":"箭头向下","type":"ArrowDownSvg","typeName":"箭头向下","svgColor":"#FF0000","svgPositionX":829,"svgPositionY":791,"height":2,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"4387334a-b5f9-445e-836c-b257cec37211","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#FF0000","svgPositionX":234,"svgPositionY":649,"height":50,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"c377f802-77ce-45dd-8641-3d98d771b058","sort":0,"title":"双绕组变压器","type":"DoubleWindingSvg","typeName":"双绕组变压器","svgColor":"#FF0000","svgPositionX":234,"svgPositionY":722,"height":5,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"708d0a54-ad6f-422c-aaad-b0390df23021","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#ff9500","svgPositionX":234,"svgPositionY":819,"height":100,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"9ab1206d-92bf-4cdb-9029-97f2727a1abf","sort":0,"title":"横线","type":"HorizontalLineSvg","typeName":"横线","svgColor":"#ff8800","svgPositionX":257,"svgPositionY":867,"height":49,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"4633ebc2-6b5a-4b80-9b34-179e06253c13","sort":0,"title":"竖线","type":"VerticalLineSvg","typeName":"竖线","svgColor":"#ff8800","svgPositionX":280,"svgPositionY":819,"height":100,"width":2,"fontSize":0,"svgText":"","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"b6a1cf27-215e-49d8-a8b8-421b3acd09e3","sort":0,"title":"文字","type":"TextSvg","typeName":"文字","svgColor":"#ffbb00","svgPositionX":329,"svgPositionY":532,"height":0,"fontSize":15,"svgText":"进线柜","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"0f8a1ac5-8966-4b4c-888f-10c08d00594b","sort":0,"title":"文字","type":"TextSvg","typeName":"文字","svgColor":"#ffbb00","svgPositionX":515,"svgPositionY":495,"height":0,"fontSize":15,"svgText":"PT柜","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"e9211a64-b1ea-4346-a453-ac9434b94adc","sort":0,"title":"文字","type":"TextSvg","typeName":"文字","svgColor":"#ffbb00","svgPositionX":1030,"svgPositionY":486,"height":0,"fontSize":15,"svgText":"高压进线柜","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"f3827465-f643-4f58-ba22-2370b403e09c","sort":0,"title":"文字","type":"TextSvg","typeName":"文字","svgColor":"#ffbb00","svgPositionX":1382,"svgPositionY":316,"height":0,"fontSize":15,"svgText":"变压器","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"5527f065-ad27-43d8-8e34-9789bb2523eb","sort":0,"title":"文字","type":"TextSvg","typeName":"文字","svgColor":"#ffbb00","svgPositionX":1583,"svgPositionY":499,"height":1,"fontSize":15,"svgText":"电容柜","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"ae066c0c-2152-4ab9-be1b-db7fb7f46015","sort":0,"title":"文字","type":"TextSvg","typeName":"文字","svgColor":"#ffbb00","svgPositionX":1643,"svgPositionY":316,"height":0,"fontSize":15,"svgText":"发电机","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"144169d3-7d21-4f87-8548-8b6d88978038","sort":0,"title":"文字","type":"TextSvg","typeName":"文字","svgColor":"#ffbb00","svgPositionX":292,"svgPositionY":584,"height":0,"fontSize":15,"svgText":"T1-1","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"34b827e4-bdbc-448d-9151-d33ceb67a34b","sort":0,"title":"文字","type":"TextSvg","typeName":"文字","svgColor":"#ffbb00","svgPositionX":394,"svgPositionY":584,"height":0,"fontSize":15,"svgText":"T1-2","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"8571bb9e-5ff6-48a0-867f-b4bfb39292e1","sort":0,"title":"文字","type":"TextSvg","typeName":"文字","svgColor":"#ffbb00","svgPositionX":497,"svgPositionY":584,"height":0,"fontSize":15,"svgText":"T1-3","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"b969b47a-be37-4170-82a5-6dafa5bcc540","sort":0,"title":"文字","type":"TextSvg","typeName":"文字","svgColor":"#ffbb00","svgPositionX":572,"svgPositionY":584,"height":0,"fontSize":15,"svgText":"T1-4","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"6f94b6c2-3f0f-49b1-868a-8aaff2e4ceef","sort":0,"title":"文字","type":"TextSvg","typeName":"文字","svgColor":"#ffbb00","svgPositionX":679,"svgPositionY":584,"height":0,"fontSize":15,"svgText":"T1-5","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"58d28c52-378a-4aad-93b0-c6a502a1a62c","sort":0,"title":"文字","type":"TextSvg","typeName":"文字","svgColor":"#ffbb00","svgPositionX":755,"svgPositionY":584,"height":0,"fontSize":15,"svgText":"T1-6","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"365341e5-671c-4ceb-8b3b-3341025b8a26","sort":0,"title":"文字","type":"TextSvg","typeName":"文字","svgColor":"#ffbb00","svgPositionX":848,"svgPositionY":584,"height":0,"fontSize":15,"svgText":"T1-7","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"611705c5-099e-4eb3-8023-15bdd4a86883","sort":0,"title":"文字","type":"TextSvg","typeName":"文字","svgColor":"#ffbb00","svgPositionX":378,"svgPositionY":861,"height":0,"fontSize":15,"svgText":"宿舍楼","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"fef409b6-2bbd-450c-822e-4ce112bbaaac","sort":0,"title":"文字","type":"TextSvg","typeName":"文字","svgColor":"#ffbb00","svgPositionX":478,"svgPositionY":861,"height":0,"fontSize":15,"svgText":"大厦","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"341efcbb-e66a-4e4b-bd33-c76af6f67d0d","sort":0,"title":"文字","type":"TextSvg","typeName":"文字","svgColor":"#ffbb00","svgPositionX":557,"svgPositionY":861,"height":0,"fontSize":15,"svgText":"小区","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"f22065c8-3b76-437d-9ec0-d46674d1c789","sort":0,"title":"文字","type":"TextSvg","typeName":"文字","svgColor":"#ffbb00","svgPositionX":665,"svgPositionY":861,"height":0,"fontSize":15,"svgText":"车库","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"f366a25a-02ce-43c9-8e30-1b59d12bd106","sort":0,"title":"文字","type":"TextSvg","typeName":"文字","svgColor":"#ffbb00","svgPositionX":755,"svgPositionY":861,"height":0,"fontSize":15,"svgText":"门卫","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"0909f6cb-17d6-4026-83d9-7a7ea1c865b9","sort":0,"title":"文字","type":"TextSvg","typeName":"文字","svgColor":"#ffbb00","svgPositionX":829,"svgPositionY":861,"height":0,"fontSize":15,"svgText":"备用","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"1f255dbf-6cd5-420b-8278-cdad8b2f7b7d","sort":0,"title":"文字","type":"TextSvg","typeName":"文字","svgColor":"#ffbb00","svgPositionX":916,"svgPositionY":763,"height":0,"fontSize":15,"svgText":"变压器","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"ffd65e05-2f45-4f7e-af53-78b117afcc12","sort":0,"title":"文字","type":"TextSvg","typeName":"文字","svgColor":"#ffbb00","svgPositionX":1509,"svgPositionY":819,"height":1,"fontSize":15,"svgText":"电容柜","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]},{"id":"100f324e-cacb-4dd5-a98f-aad775fbdb02","sort":0,"title":"文字","type":"TextSvg","typeName":"文字","svgColor":"#ffbb00","svgPositionX":1629,"svgPositionY":819,"height":1,"fontSize":15,"svgText":"电容柜","angle":0,"tableRowCount":2,"tableColCount":2,"tableData":[]}]; +export default { + CurrentlySelectedToolBarType,CurrentlySelectedToolBarTypeName,CurrentlySelectedToolBarTitle,CurrentlySelectedToolBarColor, + CurrentlySelectedToolBarHeight,CurrentlySelectedToolBarFontSize,CurrentlySelectedToolBarText,CurrentlySelectedToolBarWidth,CurrentlySelectedToolBarAngle,AnalogData + } \ No newline at end of file diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..e74f5a0 --- /dev/null +++ b/src/main.js @@ -0,0 +1,14 @@ +import { createApp } from 'vue' +import Antd from 'ant-design-vue'; +import App from './App.vue' +import 'ant-design-vue/dist/antd.css'; +import UCore from './util/UCore.js' +import './assets/css/index.css'; +import router from './router'; +import axios from 'axios'; +const app = createApp(App); +app.use(router); +app.config.globalProperties.$UCore = UCore; +app.config.globalProperties.$axios = axios; +app.use(Antd).mount('#app'); + diff --git a/src/router/index.js b/src/router/index.js new file mode 100644 index 0000000..cf4653e --- /dev/null +++ b/src/router/index.js @@ -0,0 +1,46 @@ +import { createRouter, createWebHistory } from 'vue-router' +// import mineRouter from "./mineRouter"; +// import JsBridge from "../utils/jsbridge"; +const routerHistory = createWebHistory(); + +let routes = [ + // route -> routes + // 首页 + { + path: '/', + name: '/', + component: () => + import ('../views/CircuitEdit.vue'), + }, + // 编辑器页面 + { + path: '/CircuitEdit', + name: 'CircuitEdit', + component: () => + import ('../views/CircuitEdit.vue'), + }, + // 预览页页面 + { + path: '/CircuitPreview', + name: 'CircuitPreview', + component: () => + import ('../views/CircuitPreview.vue'), + } + + +] + +// routes = routes.concat(mineRouter) + +const router = createRouter({ + history: routerHistory, + routes +}); + +// // 路由守卫 +router.beforeEach((to, from, next) => { + console.log(to); + next(); +}); + +export default router \ No newline at end of file diff --git a/src/util/UCore.js b/src/util/UCore.js new file mode 100644 index 0000000..df02bd9 --- /dev/null +++ b/src/util/UCore.js @@ -0,0 +1,19 @@ +/** + * 生成uuid + */ +function GenUUid() { + let s = []; + let hexDigits = "0123456789abcdef"; + for (let i = 0; i < 36; i++) { + s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1); + } + s[14] = "4"; + s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); + s[8] = s[13] = s[18] = s[23] = "-"; + + let uuid = s.join(""); + return uuid; +} +export default { + GenUUid +} \ No newline at end of file diff --git a/src/views/CircuitEdit.vue b/src/views/CircuitEdit.vue new file mode 100644 index 0000000..14b7f83 --- /dev/null +++ b/src/views/CircuitEdit.vue @@ -0,0 +1,644 @@ + + + + + + diff --git a/src/views/CircuitPreview.vue b/src/views/CircuitPreview.vue new file mode 100644 index 0000000..3d67b9b --- /dev/null +++ b/src/views/CircuitPreview.vue @@ -0,0 +1,105 @@ + + + \ No newline at end of file