From 59dd26dc92e5be05a8cba266260a5d4af570e710 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E9=87=91=E6=97=AD?= <10928033@qq.com> Date: Sun, 21 Mar 2021 10:04:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E6=BA=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 23 + README.md | 54 ++ babel.config.js | 5 + package.json | 50 ++ public/favicon.ico | Bin 0 -> 4286 bytes public/index.html | 17 + src/App.vue | 17 + src/assets/Alternator.png | Bin 0 -> 4452 bytes src/assets/ArrowDownSvg.png | Bin 0 -> 2190 bytes src/assets/ArrowUpSvg.png | Bin 0 -> 2135 bytes src/assets/CircuitBreakerSvg.png | Bin 0 -> 15734 bytes src/assets/DoubleWindingSvg.png | Bin 0 -> 3601 bytes src/assets/DoubleWindingSvgB.png | Bin 0 -> 3676 bytes src/assets/GGJ.png | Bin 0 -> 4138 bytes src/assets/GroundGraySvg.png | Bin 0 -> 3153 bytes src/assets/HorizontalLineSvg.png | Bin 0 -> 4084 bytes src/assets/IsolatingSwitchSvg.png | Bin 0 -> 3490 bytes src/assets/LightningArresterSvg.png | Bin 0 -> 3376 bytes src/assets/PolylineDownSvg.png | Bin 0 -> 3629 bytes src/assets/PolylineUpSvg.png | Bin 0 -> 3673 bytes src/assets/RectSvg.png | Bin 0 -> 3495 bytes src/assets/SignalLamp.png | Bin 0 -> 4593 bytes src/assets/SmartTerminalSvg.png | Bin 0 -> 57490 bytes src/assets/StandardCapacitorSvg.png | Bin 0 -> 3589 bytes src/assets/StandardReactance.png | Bin 0 -> 4433 bytes src/assets/TableSvg.png | Bin 0 -> 4010 bytes src/assets/TextSvg.png | Bin 0 -> 4377 bytes src/assets/TransformerTriphaseOpen.png | Bin 0 -> 6152 bytes src/assets/TransformerY.png | Bin 0 -> 4977 bytes src/assets/TwoCircleSvg.png | Bin 0 -> 6415 bytes src/assets/VerticalLineSvg.png | Bin 0 -> 4085 bytes src/assets/WireBreakOffSvg.png | Bin 0 -> 4253 bytes src/assets/css/iconfont/demo.css | 539 +++++++++++++++ src/assets/css/iconfont/demo_index.html | 239 +++++++ src/assets/css/iconfont/iconfont.css | 29 + src/assets/css/iconfont/iconfont.eot | Bin 0 -> 2856 bytes src/assets/css/iconfont/iconfont.js | 1 + src/assets/css/iconfont/iconfont.json | 30 + src/assets/css/iconfont/iconfont.svg | 35 + src/assets/css/iconfont/iconfont.ttf | Bin 0 -> 2688 bytes src/assets/css/iconfont/iconfont.woff | Bin 0 -> 1632 bytes src/assets/css/iconfont/iconfont.woff2 | Bin 0 -> 1232 bytes src/assets/css/index.css | 16 + src/assets/logo.png | Bin 0 -> 6849 bytes src/components/LeftToolBar.vue | 148 ++++ src/components/RightToolBar.vue | 137 ++++ src/components/SvgComponents.vue | 63 ++ src/components/svgCpt/Alternator.vue | 10 + src/components/svgCpt/ArrowDownSvg.vue | 9 + src/components/svgCpt/ArrowUpSvg.vue | 9 + src/components/svgCpt/ChargingStationSvg.vue | 9 + src/components/svgCpt/CircuitBreakerSvg.vue | 9 + src/components/svgCpt/DoubleWindingSvg.vue | 15 + src/components/svgCpt/DoubleWindingSvgB.vue | 15 + src/components/svgCpt/GGJ.vue | 20 + src/components/svgCpt/GroundGraySvg.vue | 12 + src/components/svgCpt/HorizontalLineSvg.vue | 9 + src/components/svgCpt/IsolatingSwitchSvg.vue | 12 + .../svgCpt/LightningArresterSvg.vue | 12 + src/components/svgCpt/PolylineDownSvg.vue | 10 + src/components/svgCpt/PolylineUpSvg.vue | 10 + src/components/svgCpt/RectSvg.vue | 9 + src/components/svgCpt/SignalLamp.vue | 11 + src/components/svgCpt/SmartTerminalSvg.vue | 9 + .../svgCpt/StandardCapacitorSvg.vue | 12 + src/components/svgCpt/StandardReactance.vue | 9 + src/components/svgCpt/TableSvg.vue | 86 +++ src/components/svgCpt/TextSvg.vue | 10 + .../svgCpt/TransformerTriphaseOpen.vue | 12 + src/components/svgCpt/TransformerY.vue | 12 + src/components/svgCpt/TwoCircleSvg.vue | 10 + src/components/svgCpt/VerticalLineSvg.vue | 9 + src/components/svgCpt/WireBreakOffSvg.vue | 11 + src/components/svgCpt/WireConnectionSvg.vue | 11 + src/global/global.js | 23 + src/main.js | 14 + src/router/index.js | 46 ++ src/util/UCore.js | 19 + src/views/CircuitEdit.vue | 644 ++++++++++++++++++ src/views/CircuitPreview.vue | 105 +++ 80 files changed, 2626 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 babel.config.js create mode 100644 package.json create mode 100644 public/favicon.ico create mode 100644 public/index.html create mode 100644 src/App.vue create mode 100644 src/assets/Alternator.png create mode 100644 src/assets/ArrowDownSvg.png create mode 100644 src/assets/ArrowUpSvg.png create mode 100644 src/assets/CircuitBreakerSvg.png create mode 100644 src/assets/DoubleWindingSvg.png create mode 100644 src/assets/DoubleWindingSvgB.png create mode 100644 src/assets/GGJ.png create mode 100644 src/assets/GroundGraySvg.png create mode 100644 src/assets/HorizontalLineSvg.png create mode 100644 src/assets/IsolatingSwitchSvg.png create mode 100644 src/assets/LightningArresterSvg.png create mode 100644 src/assets/PolylineDownSvg.png create mode 100644 src/assets/PolylineUpSvg.png create mode 100644 src/assets/RectSvg.png create mode 100644 src/assets/SignalLamp.png create mode 100644 src/assets/SmartTerminalSvg.png create mode 100644 src/assets/StandardCapacitorSvg.png create mode 100644 src/assets/StandardReactance.png create mode 100644 src/assets/TableSvg.png create mode 100644 src/assets/TextSvg.png create mode 100644 src/assets/TransformerTriphaseOpen.png create mode 100644 src/assets/TransformerY.png create mode 100644 src/assets/TwoCircleSvg.png create mode 100644 src/assets/VerticalLineSvg.png create mode 100644 src/assets/WireBreakOffSvg.png create mode 100644 src/assets/css/iconfont/demo.css create mode 100644 src/assets/css/iconfont/demo_index.html create mode 100644 src/assets/css/iconfont/iconfont.css create mode 100644 src/assets/css/iconfont/iconfont.eot create mode 100644 src/assets/css/iconfont/iconfont.js create mode 100644 src/assets/css/iconfont/iconfont.json create mode 100644 src/assets/css/iconfont/iconfont.svg create mode 100644 src/assets/css/iconfont/iconfont.ttf create mode 100644 src/assets/css/iconfont/iconfont.woff create mode 100644 src/assets/css/iconfont/iconfont.woff2 create mode 100644 src/assets/css/index.css create mode 100644 src/assets/logo.png create mode 100644 src/components/LeftToolBar.vue create mode 100644 src/components/RightToolBar.vue create mode 100644 src/components/SvgComponents.vue create mode 100644 src/components/svgCpt/Alternator.vue create mode 100644 src/components/svgCpt/ArrowDownSvg.vue create mode 100644 src/components/svgCpt/ArrowUpSvg.vue create mode 100644 src/components/svgCpt/ChargingStationSvg.vue create mode 100644 src/components/svgCpt/CircuitBreakerSvg.vue create mode 100644 src/components/svgCpt/DoubleWindingSvg.vue create mode 100644 src/components/svgCpt/DoubleWindingSvgB.vue create mode 100644 src/components/svgCpt/GGJ.vue create mode 100644 src/components/svgCpt/GroundGraySvg.vue create mode 100644 src/components/svgCpt/HorizontalLineSvg.vue create mode 100644 src/components/svgCpt/IsolatingSwitchSvg.vue create mode 100644 src/components/svgCpt/LightningArresterSvg.vue create mode 100644 src/components/svgCpt/PolylineDownSvg.vue create mode 100644 src/components/svgCpt/PolylineUpSvg.vue create mode 100644 src/components/svgCpt/RectSvg.vue create mode 100644 src/components/svgCpt/SignalLamp.vue create mode 100644 src/components/svgCpt/SmartTerminalSvg.vue create mode 100644 src/components/svgCpt/StandardCapacitorSvg.vue create mode 100644 src/components/svgCpt/StandardReactance.vue create mode 100644 src/components/svgCpt/TableSvg.vue create mode 100644 src/components/svgCpt/TextSvg.vue create mode 100644 src/components/svgCpt/TransformerTriphaseOpen.vue create mode 100644 src/components/svgCpt/TransformerY.vue create mode 100644 src/components/svgCpt/TwoCircleSvg.vue create mode 100644 src/components/svgCpt/VerticalLineSvg.vue create mode 100644 src/components/svgCpt/WireBreakOffSvg.vue create mode 100644 src/components/svgCpt/WireConnectionSvg.vue create mode 100644 src/global/global.js create mode 100644 src/main.js create mode 100644 src/router/index.js create mode 100644 src/util/UCore.js create mode 100644 src/views/CircuitEdit.vue create mode 100644 src/views/CircuitPreview.vue 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 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..0e71ab1672f6d61e7c846622ae088a6d650fb283 GIT binary patch literal 4452 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 Q=l%zAclD;8qJ$>>6A{W0SpWb4 literal 0 HcmV?d00001 diff --git a/src/assets/ArrowDownSvg.png b/src/assets/ArrowDownSvg.png new file mode 100644 index 0000000000000000000000000000000000000000..f939a3f1cf9e1ec0dc2fef212c5df45e93c92513 GIT binary patch literal 2190 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 literal 0 HcmV?d00001 diff --git a/src/assets/CircuitBreakerSvg.png b/src/assets/CircuitBreakerSvg.png new file mode 100644 index 0000000000000000000000000000000000000000..2e0d9fa08d2933206664d257b6fb4a6c0fb982dc GIT binary patch literal 15734 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 G!9M{sn+#Y0 literal 0 HcmV?d00001 diff --git a/src/assets/GroundGraySvg.png b/src/assets/GroundGraySvg.png new file mode 100644 index 0000000000000000000000000000000000000000..7f872addabd3c50308c6990f2c5b3850881117c4 GIT binary patch literal 3153 zcmcImZD<@t7`|#L+FDWSj}nBg+aD@+Zg*y9KgqQucS)MkYhxO0EdJ>1%xtpF-R*XF zlesJQm0-`iG*-|xqA7sTcEaPy;aF1Kn;`dyYg zd}M7dxAJ#?Y&;n+Z*^!;%@Y>5Jm08>0-ekCZfb;tPVq!?`Gj99$d}&#P?mgFkay~3 zwHy}tq`!GC;ydQHjnTO&YBPD$Mya>qhyYcd5UEkE)MBSmkehKGai6|cWT^>BrV4Uj znot@qk4VKJ;*y>>0EHMyrk#g|Y9qWsLMk*B)l{GcROqONquEmXBa3Vi^PJJrU^|z1 zD#(*b5;}@fuh;W+EgwV^3bbuoQIUcW5C{;@))LYHwRn9eLW##T^25XrYEl}JxWRN% zkVU1fDOAHOY%OlnBnVR)BvfEtO{dfZGMeGS>8R37&ZxpGyvl1yEU+-c3YN;{3_fqz zYBfX0$-s=Ls6DrN(ec=9$dyqZ2h$Pd12ZDy`c7eSGRm(}vxMOSo(&EsgCvM2g9S*) z{?4cfonpjE5=3J`Q0c7lNGFO^EJ_dT^lL1r#}B3jw&A=)5?+vziXc$MYHMRqcQouE z;~~{@RJ8>y3kfljka@wDgWzAl0rS1t>p~fIydbI)L9kyX6I=;v6U}VpvNK$Z6H=pm zxKxlusd?XL4!5vJu*m^Jwg)K29&lBU0z>Dvjxbdzp`G!ifKI22pN?5iIK#Y9BI)eM7i1aym2z(s+; zViW<*z?4&JY7}!>x|X*XRD!4+Fu}Rj{eHMu9Ek$YuZTb5(V>26c%W!N+b{si!?a_X z%5^sTu~^~Rb`S30d)s#vUuufgAvEo$f=p8_a3;53`|}XGw9;E)>yumrT|^}OaR zRol{hXA!mCj3rXi4YSq$%HN%#^;~N4IGCEEw2f;jKq1>BGWI5v+mX5Qr}qP z$S>#m?)+G~C-<=W?F(A$oPU0m4o99k^x3J?2cP@ITi$c-r?b08x16}J#yWW4?%USh z^7NDQU&2FIFYo&K^DCoUzIgcvlzWbi+<(B@_Ydq3UtbzJ6};y3ZkG<-iyz`|X}^&qsHu%kNlLT;S5kl`VPy UnW2+c(nJ67z_!v`{k!-530`3ObN~PV literal 0 HcmV?d00001 diff --git a/src/assets/HorizontalLineSvg.png b/src/assets/HorizontalLineSvg.png new file mode 100644 index 0000000000000000000000000000000000000000..f71c0fe075f08385ba3c4751d4313f349f15b8ea GIT binary patch literal 4084 zcmcInO^9Sy6|R8DI3YTqpv>x7*(B)gcmLnLkEt2@XC~8NwN0lX6A;Y(?S7f6dgXg> zx_bs!0nsdU>B0#(kd>Rj2uXw>Dr(eCHo=8iWD#BHLUirI8NR_uJ>-8 zzx$nYzH{%(+gr~(asJ}@PN(z4=Jkyo_+D#2=ROVp|GeAzD|~%seEs>l(|P>!?dP%1 zk6!swr}Npr6}vZ@8~v~4t{koyU)r#8G#rC;r*rAb(b%|~p-F7mD@MKUKi>L9Hz|Ct z`<&?G{&+p?7uWAp;n_P|yY9|Sr+xRz<>b;)4hDvyG0D+zFsk#TUUybw>q+$9!kw z+RPWc^}72_GtSfW@bGZukgb%}UP`pqDW)l<2qaK_d(@aCG^(FGwy+UuR~6%?C`Ul+|uo4vw?DeQYIJUr(NTt{D09uztD?a3&r$OcQ!tiYY-D zvdwmh$QjS6{0de%##7Ngl#n-#`A=b)WBRag>5F*#k)qz^v8;v$04|1RFQntq-o#tK zpKp%p#*AFp+~{>7)Rm&}IpszK7BO;x31kGfNLefqk2unxl+2_**54@Itv30s{A=PuwcJxBFfj&2BMD-X8)QYykO@(H&9clBa%}DERROJN1}CkyQF*W^EtAp*ii8Rd z1;aC>yrZo}7o5wOtWnYCo|>bfLaN<>#k z+cA^M&94_VWcc>12cHe!nmrAQWKyiTacw{Kx~{E-0Dw%Fi&FqSTj*2$!~Fn8msH7A ztS)17XsWQf2jD-V2Gd2M*XCe(;5rIIC2)#V#34*MLn_l61>ragLVMa`z9evw6M9_U zA3yM!Ww&oedjW_!?f&;$u}<)yqeGfHj#T9EWMV+x>r8oUgi>+wRvv1;PjoA;936z} zL`jWJWni>~s_u1TRSpv~9uEp<+WJcmMt;WF^U_b6GI`MG3nBBNDo*78q?dUJ$^X&c zBdhIfytAm_2bds)PMQE z(r8;V^K#0M*?1M^L`#bGj8E3g-ke!3pHBWbM&Ue*K-$&=cL4bt9X+B%F`deAah4Bd5jJJc5f^U{-%S{$UAZ&@Y zVIhPl5Eqa(u3+B^i-;&AQ5gU+!^?cT3^Nlrf=LZJl1rqtmxyq$NQAY_@+H2bjexX7 zEJ}xHXfY4OBPlTx781b-UaXx_Y?vn&2@Gc!?cvy>8KGduYic}!ZMntT3JNVm1#n~7 zx8_hSDpN2YG?#`&kuejOXd9R+4m<)(szr?;jhRP6aPFMY%s8=FTL&Vrh2y(|4uJv1 z6;e>&$V&|=XI4AA1akw`;Ed#mYl;y7?4eo|qzw*6mS>h`Zb`nabWB+)5ROVADC_{x zLBC`$-GlMLOJNsBZZ#nk2LoqAEm4+njI0LypyCA>j)bTs`F6oTVZeEU3%LJq-f9a8 z<*GdvP^TCmUF_RM%#95hf~Fvdm=-mIA$K@h$b!UjS&w<<8MYDwAAydHZI_VX5i<;m zhEPk%l6}XFc}*CUnGkRsqL6t5Ob0y{gr&g>s!wW97;Z|J>2hA3NS?T_0Vz(F;1bwA z&TpUaGQYou5uA-GxShWH+aJFHH{1K08>_oVul)Tza{kx<B~qzkK-3AKv}R_buM~ z{nqd|_dobX@!IRx-ahK}e);B8pZd&18O{_bagdi&k) z{`|rZ-n#sUSKk=j|Kq(2-~Q>vEB}5~z4^rtKKK6fuU|a7MR5G9$6nq)_dR*<;@$RM OzIk8NZ@{nm(L_lsXL{He0DQgt^_BeXo3p>^sLX=>=oEO7cfVW@l#Yjqh$Z zyKCQ_L5)CEq?AWcfRYdep$Lgb3xpQYHbqd$iChHD1J$Hbl>liVErJqgpedEY?A>|e zR%a(w>8*{YKD!x0HumLcfmi%94N zvFBHW#3FY5@i-^)NSj+I2dUXg)PjivCe?5t!K|EYsUb*7Di@50rG|4#BvxW&R*54n z3sYH+Qn8qdw>4WXr_xc}JHaDr?X9hJG+YmuG{_=_?;iJRqb$r%(iTK4dud!(rbq&1QLE){2nN3wLhzD%7t=tCIj*;;evUmJ^YT zAdq>sm0_saifSW$jcnSo+!QVH5~4W9?Sxg?M#>w6ed@XOtBO)$yM9>49AK}EN0<~; zMjGCVMZ3Qe#kfLPe<3IGP_v##ZAcAAH!TKCf+=vR>HsWb3@nv0OECz>6wc}wd@`OS zKhbaY0rd&Dk)mch7S&9{#6YGl1%#@I+m%(IXbN$$ZpxIAS!*8;J>H7AG}mep73CIn zN6~f45YS9U0K=*QOiBmO*A{xy zY;}}zqYG3?Q!Mh`xQav8J;K4iN)1Z$g&yIFg#))-4I-U$if%#zWTYy= z3mIjhHz)sdy`&)s|3`mUt+s39o%yTn9Z8Xt49sTxOK)a|=5wKmyJ++n^R~?s&9?{n*RN_OQT86q~&DKvT-+`6A39sEk5bNBPp}2P2)77;TRNha&{o# zZN_ODarRdX%TckxGzOKf2B;;kjW#i41v3?Jrgs6-RUMcX)d5tg30=NsIO+o0uH#ad z>nN^H0Ajqy9R?}Tby?9I2z3R@^J^PO#tMZF&}3HzRx%zOrErGmK&0DPLDicjU|30O>Wb(Fn>r- z)2zaoI^<{N(_=3Qnap)3`U~B|wf%p44vr1sTaI41y!eA(_|SKHmp-uwJv!RC%-C^j zcMuGmIPs`y?Glb0>HXdx#K%TQj0c~1-~L-pKK0a#9k1Q?vGMae>dzzf-Dm#Qacl{? zFX-5L`cr#0iV9qDw{-l*&o7;G?aua0J$UMYC5MI{&v&jmwe8^KeQSH-U#*&Id(rQo z`^l*-J45$Zt8kr^5VIH3GemgkGwkl zP59S`{_>UAfA{InSljRIyX!e;FPo^}gLWSH!NKXFzwf@O>yHx`*;n_DuR_cJUEhd; zy35Hy>5Bw~sx$=G8O7i)RaO0`CQB{U-D%QN5g?# ziQKYl(+J4Acl%$PFSYPM5vvZ8kMdT^gFYpT+LWIHNqUv5y@S|3uX zQ6d$yY$1**QEa!2E!`#bYK7?7)^uCL2GX&oTb|)6y^jjk5)pXAwf>$hc&ezQSr&Vm zHZd_#o-oQ$($KK$x|&WjLJ%NOy0e|JNz_g+ozYN}DNn*U3!}D@Yh->jmQ_^nv>QSz zF4VTuUYa0b+9ZoLT-NiDIzYh-Ts)REJH`dqWK*_eJ4*qJ3oK-*UN7Kts%^CjbegRn z2akHO&52G&cE(a0mT5GWaJhaQEM7X}SegyXW2rd-aex=X@o1Dq>1Z@h5{lPFDq^pi zNR~y(NE9_^sysBKMX6Sm%dZRDBAQ6A$Q|s#WsPOBq7t28q(ilh5o~$}^@w$q?s&T1 zh1Q{k1k2c5U}^GpMC959NU z08>N^DiJdcfec2ZW9qg~0x_d)a}vTXCq)8?)C3tJR?-3c@D5NQXD9QwG;pE$mtrB4wQKm`>+<17Qjk z-r3uOTjb5XyJo0#n$=@G-%k~l=e-~ygzj=UM?z1`^{)KHs05`8bV(PMMnN{g64}>) zE!-m=g&r!uh_f4F|~Zxn$@2UtW4BBn}2(8!@eW8`Tfscw(TZoc@L$Z za-`ba{Lno&d_TSH@Q;n!)ytpTQ@-}%&*GPt9(w0Ub!yX1Z;U-Zz3jc@qTP>v@r~Jk z`)j|By-f>C!@uyGLJpKC%Q+IcK>bdrp%i3?A zdF8YFHs0}hO*#DJ7Z-xmt>@jcvH%@g9;89x&#%FC21E@?}Owrdr&qI0`5JNv9J5Br?hZ7)t7S8;fxnVp%n7vJ4p zch`@YKL|~#nz#x@f>d%NP$PsR+C%|0AY@QO@gHd;h*BXeqP`^5q@WhUL!klGGJAKv zxL`Xj(39?VclP(af8RHAU){EKOXI3rSEW*^#?Fphx45<@-xbTn?{9ljZ;H#xa>uSH zm0JDreg;N|7^?l`DE3ai1(J zvQ&Y@16g@fVo>VMZ*nRW&ms*Uj75>lb5sHOrnph8DA9L<($A6Zxn zndfxpHrH&4r>xu`$7M%RhKGkU!&)W?`xI!~wxS{hAs`SS+FOdr2q;C(vl?J!NQ~@$t$CU@eLd7_v3NP>?FU66- z!a7!DDW9*y=T%!Q*3nViJ|sM<#WpWG>e*Z7N;i*!!I1LyAz`t3*0Ct==GRiQ1aSec z3zz$YIEea#1(HyIT~9^XX$v`tgRmzE3bR$-HmgNyYm@HW>6chA9Nm>TScCH%iFsB= zDuO^2)z*5T?r7LS#%EN^QPnCmFDS%FOy&b)=;+$}zyb5Uz1M{@>Ucp|BqG6nk@Rt; zT%jccWQWTRC<(;{#EL_d_K64DhAy+X6gnBMeDOQ065djACG~^n#ZoBrZd@i7a zN%0f;Y9FwG3LW*VIj+eWwW$kS)pY^0u?{TL^#I0}N04PR3s++o-gJe&Xhl+(t2Ob8 zC0@CjVK9z>ZgC1Y!6vX6ML;t!<&>Hl#ax!I*=-97L6{Gi$hkImy|b-tTNrqLLA;2% zx3o%~?QI6M4FjMIOgg5*T&Kg2M1}X(dTV$~55uXL4=XpD&?H za=of{xStE9i?E~$ivlkmCL!O{Cz5|14k`<|9+9EN9k)FlB2ji=Sdao0VNKM|wgJ~E z*0^pnl;nI7$8`syS;l^F$7`BtKPmNbF_;zkzYhglrl}$g0UMjTpt1JY+KsgS(t4fN{N(Y!>qQy^6!(O`kbrgadT3c%0}eO zHv^W+Ke018VuaR*>IWNtRr|sJIz|)D)am5RPUB5tpGbycRGTNQq^~|%*3bHhxJ?*? z1VCsIz&wnBtEoERhGuC{$As%fOC_lV|39V0oH0csLNVH12sE4wd1MiwnYN3G$#o93 zMWm^zYJ_9a-rNJozy=Weivb{J7WBlL>EcDCJ=YWd8bI?53J^~`=a2!zP&M5Z;b>4@ zSlUD?(HL}ru6io48FqoKK_v7r8xaOM=X7Cdiy(@rkU<)>0Jbm$wyH6p>ljn2+Zv(z z!qS9tixL9^Y$FwjAQ>Rs!oU(+ql--!nRJn?xdzoN7wJItEDMMdap69}z!dYH6ULdL zy9?X)OpV!46Cvxm*cgzAfp|I<72~>#xT_<3u5_jHRpKa%GpvG~b8;1AsVs@(aB^Ee zhl_{$NuHO)E)j}z`i0B!S5m2l*E@5YdPa`CJ#oJHyxP>>mAAj#eD&;$Pc$7IJAL}+r`D=XcenN)IJttP zpO+7`uNeQ>CvIP0;p<!7 zle?eX^U9+K#>cEHYXWl976H{sFG>ISEq_KCl zN1kf=5&04lO6=N@+IWb&LkAdvtpb866}R6}M~_HdSnHpui$5R0{cGXjf8V)vnF& z<7G({sv^-~N^FfC3ca~bA?*iD(2_bJ5GjITC7~``3fd?rGBhOFke~`=Xv?~-T0;FL za&G~3?XJunbzl4`B@RSU$(E#YxtuJkNk8b9pk-N-tVoIixC97CiV?1WV%RccA;Urv zc%{hmi$ZJ>JN{6V5_zPx6bhw=*to)uUz z3b`z7$a0i&xrX?hW($RebQrY{^N8xX%_$xBjFgzv#X^55Agq0udu*8rER4F?6=)Wr z&cz$br2#+k!vTLD5E?%>peWhtfZ@mwdVD`WQ{~PXD?&Ogtl!}ksb3B^!~xdDSq4We zB`UH4fy}F|_CU>6k*(;r$)+vKHPIZW5XBLmOBgA(f<7heQ_mf_swgG4>jwqQ0rm>G zpGl=+f7M$qXJ?CHgo}h_GbxdWn)Ezs8&q|PZV_NQIt7>^6*!7x0u4fh9jH1AAv5|J zpA5ytkM(Q&fck{nXrN|mj-_GMasY9$1CWCZU^2@EgsHkFQ(bi#o3VCh;PI`9^RunS zQBiJDcT`=cOaYq72w*t2Lx}=Z9T7%|p%TRHT=ARs^L~)?DaTx$y`D{{I|JYK^8AOe zYipa3ZBOga(siIDVZ39i%(XkbkXLx5z6ZP6cj|X}PpFdB#w6ZPDUrlnU{tIxdvgG~ zxX^26%L9xXU4SJuvCwy;G7ea4KL`IR9F*n@J;cKc2X46V>hTTM80rk zqt6Q&Wq~)V{Q~QZdoy z*T#gI1nUSOOOXLjGM?Hd0wy1geBL^WK^8#G(TQq0iUwrYGyyLWIj;8anSya||y=0!&{MxReQVXgaFiqoQMd1iwS0lXMOmh_G zXo@x4ca=9a+DQxZvno03+{>v}UE+u7__lG1=MRnl0j$VpOu$e1FRV3gP9&E6Dw}ET zsXTG%z*OP%?bl!TZrA-^|LF}~ZC^XIuXFj~Yxb?UkH3>^c7I9V^4bkYC+|Pg_s)q& zKRkQe+vDo7RjuD&)^wuj`Y*5B*w(vyav7d`VeC}<#qOP#x_7QT zxwo}F-@ViQ#Z7;`^_ibPGPq7$`lD6jU)a}jrdd3+v2XMA=+cp?@_6?2y7d0T_UUzp zPP}~a+hgOW25(=!-hbr1_u@;fJo(&M(>KpOp4z|f@PQ*^O|KgluX%Or*}FRru6b+n z-Xjk`xM%(3&u%%q;pvw~yTswi73=T)c+Z^`O~h;8``Ij|KqwhUH{r& z{(W2T%TK-W$pe?3e&s^?mT7YInR5qPwx7LllKt+|p5wQ^1g!JFK62CZV-wr{^7!hh z568dpkh$iuWADGOm8VX=a?fS)w@2I7TIZiL?rHvDqR{uo#SiwkT*&_Bqw)`ae|aoC z_=kzrQ+IvKI{(#oGhB4|qg{Jn==nt4x~u!K*P4&LI!^a~{FCYIAIDytra@+{wrBO! wj?~cJ%Jpy-!w2_oyYaRg8;!=c`2(E=xbCgLTW)~g4;C9A!)0rJ;Gwe7xarpV zdrjl{(>ofCo3nKBXmzyvlSpU%rZQP$1b}%%m3yR#>y$= zm$MllO#hxjkw@*qswyiMv#hsP<-==MoOav!@q_8WWUJ*pb$}Cb+fkKmxfD}^FjSi@ z5)m;TQF$*8B8s0>(?F_Y3*ibP;F zvWojCFq$GJxwcyS;KRDk1;6dAmlfU20OoA{`h2^6xX6;U2Y-|c`}aEYb8SgNDG_aw zddG~I8y!eXsPM_j9z0?nncVeKXGGRW>3To4TwQa)8h5gsZUE@zg+4aBx@^JdCM+3? zm041)s>1GB0`M=vL2p**rCQlM@GudCO6VyvAR6k=84CO`L{@0dtOyOQG2bL`5fQq^ z*eefwVp%V%!IFi>?781Q6-^1T(nusE2GWF_q98~Z5*!D?!q~DswJu^qG(uTcqpizuwC<1m}D7 zcS*KgUf-F`wyRPiuO67=?eBfFGmM`*V;uL@l^G49Xrmr*x%`946hRA}Hq|R@e`EjI zcWt9JXQp(D*1GW?m=kqVEGPYBuUeXRmfdS{QtHEmh@m+%X%Lan?v+n`WCRsNQY>*y zc8x&or5kA5P#HrMB1Ecs^l%h2ERdBfU_@|bg`BMoUCNJrLtrq(1TkKZ2pTBF{4nOq zx55&(iMIAJQhgET1k$0NHKyW4N^AXD1gBlb3dlO-UPK+Y8J#)Ae;mNf)ZH>UvcEabg;@;BSk#h zx3&u4g^9uiya96#uNtwCP`1!u0rkR=)@<#>XC@>J022a+5(NZQA~e+7ikRA1&~Ux) z5$ndJ^)_esNOIjfADVhw?FW+&;Heb;+5#&OSd(fA%`r_uT2^j`ttlaqVw@vGdrL4KDes zU%YtkKlWdx{@>HP|9-dK`OHgq|KYd4fBUPCesuo!ZO@&1{C9u;^yM$#d7=FEJv*QI z@ZbOc^5>tT{nyR1cCibbogwLCubF?o{K})xzVXhx4}31)>b?1=pMLiAy@#H<;pS`F if7y<&-{3NAy!YY{pH#d5@yq%sH9vQ-^XlGXzxo=NRaCqH literal 0 HcmV?d00001 diff --git a/src/assets/SignalLamp.png b/src/assets/SignalLamp.png new file mode 100644 index 0000000000000000000000000000000000000000..519446eb9ce291b080655c3b65627b1ee5f9f772 GIT binary patch literal 4593 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 literal 0 HcmV?d00001 diff --git a/src/assets/SmartTerminalSvg.png b/src/assets/SmartTerminalSvg.png new file mode 100644 index 0000000000000000000000000000000000000000..56e10ff979330a658f09118cab2fe9feded264e3 GIT binary patch literal 57490 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

cp>|7@O#!Z((eq5u~6{9i0(3=0!DzX*V`D=~gVQ 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 Ly`QZ-_1wPzz4C05 literal 0 HcmV?d00001 diff --git a/src/assets/StandardReactance.png b/src/assets/StandardReactance.png new file mode 100644 index 0000000000000000000000000000000000000000..dfaeaca78b06557b4a5dda2f9ced6625fd13d0ff GIT binary patch literal 4433 zcmcIo4OCQR8Xhb?ESg4yN6Yj&nPvJh_ulXR2e>c;iaKUWLZ;St@Aq989p;WR0}O7q z*1;6ROrtPRw?A=D8K!31&ziO(W>)LE9Ch2QB(3#WZmF@G*6w!)7^x#5B|$3faHNlo29YtBL>QeE`2rcv)33kjWPCWoSs;2@ zZ_rJOedFhc$h7&B^Nsm)4HY}bW-{qfjT$H+5yV7G{DH6*&2Yx-YV_E?>~b$MM7mWP$#Bw0+fyhB#?1!89WYVATu~HsacQibQcMsVak*e=$RBf#4Hxl~5)z1n zsVoIQ`P?Kl)c%^e~rVukW8%ime$DVE+`=o|*DfK6R7 zurA8DQ{Q75rFQXc{q{b{T*x&(_1cMlc3=M%enTvkimfs3_Ele?oU9ac4 z-BUuA>GRVY;i==YnY6@l@xCyva79NCP9yU=j{H6*Mpg|Oc0Xk} z4Vw#u0@8ljcL_i*FZ6c(@?t`b_P~;Mv9M)E%29}96;beif`hK^LJy;|o+k>e#g zQzV5m0Lu#yD6*;oA{qiDqKbJN^Bw{hHIDCO?9UIp!?IC~0!4%lW|#B7PlaGr!36R^ z(peTjD3}1rtN>J5R*0#~JeJj-Qu#si{i3NDR-lZ8x=<>JLWr&w5(;NH&5%{XpkUDN zGmyPUhF6ctN=6R^UW^qQ;-J!qS{Nwbvz zG$jM@#Lk=0l`Bas6m<#)05aVz1Yv?DQSaWju5ujD5(ETOm4GbUj}|Je9a0358a6pj=>c6_$e1y>ARLWOa!JNM-4MG;OYN1Otd5g`VSep6elU zQ-)aOAT5?C(sjyH^pPnVl&M72d7_KF+EqK&FYWE->bWmtl3kwnX^X`!(U%DOF#h&J zPvY-CBtUm-h`!zY!5VBi99O)T=gG>CuKwc5tl}Ye4q5!>&Cevi7JX^ZpPBiO4zAkv z-sijC39R_*%!aeLFnnM_dF$3|zhcZJbx_^_wZ=T?9=oE5wD+un>WZNU z*IfhGHaE=xr-$|%DJSo6jU1i&#L3dMUao}tUk`ZdgX4!LFJAV>w|wG?=1)onEnURi z+yC=*qdvG}_xx)&egE+T--0v87LS;g+&FsATaTU|vN*fWd9w70x#Bsm*?W1G>6}?m z-7?32ZPJCCZ@T{Y=5LwDvLD)uTMmzYx<&uuxrqy_b3M-v-%&nfwr`tn_M45Fa5i&A z_3|b4a?^vYQyyKp?4UEjv94xQ^O;rE#w*V(xo6Ue6JHIwA^Gv7iND@ByXXiG3?1}c z?ue?x6Qx%))NNi+)3)HANgEo!zL6FE?~Yqun2fUX?@4}TF)Qzzi3Xb+;pdV zg6=q!`hNYs^u$9=y`x`Oe&qdhaLS4i7aWs%Ck%UXU;2`%Reg7wEB~>jD&26_c>`Dc zHud2v8~6doE>xs1Jm1#hPN~@AiD)N>jjDQoP3zVhFfXRfve)VCBbY1&aaVNu_a-wZte_SrAD%$$Dk#et(2 z^|C65w_SJD9c>G^d56Dgd47A%h+}s*f3hf0``PA|4)w#xtQ}*PKA!Y&O3EAk&z6<_ z^R}gBwL6%PCyx5p9A8zAzo5T22E>gWUg z^^~VRY`AOVmLbj0*Oz`2O5Id@vL$_#jY5O`t4M2ey8Oz`$vzwoXMWX?0X;l E4>*tu9RL6T literal 0 HcmV?d00001 diff --git a/src/assets/TableSvg.png b/src/assets/TableSvg.png new file mode 100644 index 0000000000000000000000000000000000000000..a9995c5496b02eadd5321aea83de9cbfda7aa25a GIT binary patch literal 4010 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 GdH)0n_rwAK literal 0 HcmV?d00001 diff --git a/src/assets/TransformerTriphaseOpen.png b/src/assets/TransformerTriphaseOpen.png new file mode 100644 index 0000000000000000000000000000000000000000..e601a160968534134a0547a3d22c7229badcf5e9 GIT binary patch literal 6152 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 literal 0 HcmV?d00001 diff --git a/src/assets/TwoCircleSvg.png b/src/assets/TwoCircleSvg.png new file mode 100644 index 0000000000000000000000000000000000000000..3a0d937c57746622bb8babe5195e5c1531f24a0e GIT binary patch literal 6415 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 literal 0 HcmV?d00001 diff --git a/src/assets/VerticalLineSvg.png b/src/assets/VerticalLineSvg.png new file mode 100644 index 0000000000000000000000000000000000000000..f6efceb74e1a44103202bb6a7bb039a2e6d466bf GIT binary patch literal 4085 zcmcInONeAw8LknOaY903BnE}yT3M**>3iPyoXgaN>8i<0gEbC44H+e%=hI8q;?C%7-74zRh3GdDx!J#-bc-@1VnZTFI88FWK_u3ce<`7uWGT*4!Vo4omO0bO{I3n(N+0v>-cxg5 z@YZSX)%7G#)5F8VjYGCkl)EX>TBn$%lp>Ho)$zDCM`&CkBJMx0`(a>A~0+ht(IF0O#VNXX?;tQ%niMkZra@ zM9z3lZ}l%g4)wAw`F!J@QGN*^c^DmWAj z&yeyCqLSPN=Q8FvM0MA1w-^>>zwm%LJGs8q?Ord7I2ghY)%KOmWb1NQ5-la78>Fe2 zDRc9yg9nU;hXcP;UJlkH8-xQr%u~7TnN5BUmlzS=>3I0Gkdrfz~~y5%*3i9 z)`zAHmv#aCdvGva6?$b3)(5VmAXGw6k%~CT7-tO=Gz!9T7KHY+!F)~NA}4gg*!Lg! z+_Kv<?QS+x=8L8`bx-rC@J%0GQ~XPCYBW;j08WM(>u^3!^NzEA$aWXhq1E}QE6YkxEU#RqMp z4QG~g$`{@E63mIFDOU4-vT1ggo#o=`%^$}ooM#c5w)N0ExIsook0?=0D9tjX^o1$J z!@*r!i#=1CF-|QsdL}(0l1F4Rk|8gsAd+Hm{x|v^x+z5A0qN9%ap_! zj10O)J7~}+1`#3+@{x0785Sr=rWg_21R+;z3x+w4nL~~{fsBG-rKN&UgbUUhjAK|6 zxs*g`XDp)9666gJ$OICRbCUXCxpqOV_6@x{vzaF_9zmP&W>8Y_%`$Dd$$|)kt^91v_3-;|Xlbt=3jRv=9}*jbYy~ zA2iTa1>`lChDDJv6W3@P3Yi9v0F!D^BS>TBkr13aCp0rotk%|n2yEd@q@Y3&+zS*^ zz;EQGhLkg_on3>u0X8@zIpUgP1OR(ri-NSl!N~H=(#);Nx0Q}5O9jGFDFnn003Fmz z2GczlA3Pl0R!43%AruEVB}Oe#mT`=%2K<2WFjQG2M6JoU3kHY*=Lrt2A93Dj3kh`9 z9t+?p21r-?b`f)9Lx!Lz2qLCI&0xqKjux^Yv0PVUo_U6?#L$mGN5-Z~Nbram2Baa> zQnF^>F=Jj61~d}_jzbhOZ=lmbjRj$8u!8E7+S3j@>_?mytP04-CsWU z&#(RG%(Fkc!Jc{H>?0?|{fP)_KTmn_>-^y_N9f-sj=UG${jvjJ^rm{ S-fS-BTbHl(e!BUM@B9}g{rC9* literal 0 HcmV?d00001 diff --git a/src/assets/WireBreakOffSvg.png b/src/assets/WireBreakOffSvg.png new file mode 100644 index 0000000000000000000000000000000000000000..1ab2e5f07c951bcffe8a915292932431dd20b9e9 GIT binary patch literal 4253 zcmcIodyHIF8J|MHT3qOgQDTr>E-~Qa>^<*$&rPRgyHmOgY$?mewh1Jhd(OGL*UrqH z&P?}F@DEKjg(gVUk(3%HC;LlZ*Omm?`V}u z*IZw`R+XMSctfdl?a6FGb9+-x?!r|It7vt`=s*=dyZH>~&8EyQ4;=Gxj@s8#E&c%kff?8fl9 zxE%OiN2I;8?2i@>z3r1*y|KLMJTW4XA)I=l8X*!Z%0KK;Ou_(%0bvM}7|WO`ulwhN zx28?wsmdK)U+}H$&$io*I0)wF=SSw*NZyEd8HYvMF-)-*ty z)%1)D8ugiupUKI1qTXujx^WYgvJXLyWSNb1wpR(h$rwaZ)Vn zS8}tvD0`v5)B!d(V55gujH$(GDhLXRu*fjZk=9xuMj1;Y7p9hk%hv8`X3&JXy3%S9 zl?973VNzO0k%*i@PV*2&)=I*C)otwl?!LtHO=e z)aH%e#HKMxl$3~$kfK*QoQ=n`7SwjJ+kN-BUENRB%Gw+wLvR!{qfj*IdD;hHh%uD6ZKm`)M<;dAiZ4W=0p}3+C#!JE(iS_u9F4vCI47 zWnD8{QT&x&dLelKM}KcfwaXhi{iya<)F&vGfXZggJ>i)}R z9&Do+hG%b_zPZ7-VbeV?%pGv8R2!njT> zOpT)7RB90=5fhPOp^ntL4#d^$qOIkeDTTE|6BzMKT0|sIp<79ate}EOiX~3S0Bvn; zl!h9qNOP2iTp?v$ifj~yk;EY^3pzmCDbObx5h69RDJ-mnVS$`v5hH?YCuDzZ!7#^Z zXprGXARWP)QZj;2gmFotF;3lp$fYDg8J!?16N0QRR<9!|GDcGC60VGk`um0{9VVeA zuoyubHZ9;s!8Z$4!gc6`BW!@SX3n`(ATFS6Jc7I%TAcdJl zLU3-3P)r-qUt2jMZ~~9)5p)QGvp|F*;5V{TLCIO7Ofmp-4Qw!4a>NzI2mrRgmI%rQ zk3&g(faU&=dp_U7)5h)DEW! zR6$}nsK+d`3?~x9JOUk=7F|M|MNBgw4WS7o1M*HoW))#TGa=wXh(hHxOgiW>Clcxs zLDfp_&V*YUm%-q<+L2swMuVZ)xdaEl;$!c`3150=R#%6oq9&Y3<5O!7l}fA9iOT5o z!ok;`B=w`WzpHXA8@lk_Ri_WE{r%{Hs5Eu$-iN-&x3B*Djo#45UN~_5-D|!xyy@Ue zukT-c>G1vEKl9pS)#LSXzjV(ZubRHuuT=K!TRVKSzwyWK{NaV2fBDBRh99`=`TB)Z zk3RkWqvOl>Dtq^>9v=2D3Ktjj@UutHy#9l0p8C=8=kNO4=XX8)YWCve53o0 zvj5%h`|8(jdFUPc_o3&`ZM*-K8-M<}#}7XI!n$De#RFye+^e5K*R4By@`_JAdvg8p zm%sJpD_=gNhd#UOBVV}bC$}CSlDp5GI`PRn&p#6!y0d&Xc)*=G^~*;-c>bCF-nsLq zf41Wf`ta3_!^f_APhLLp)W^Sg?{!D^>J#U0yLaf&?d21<>Ko?EXRo+v=9}OC>49V0 zHqSlr(b6}DzVbWu+gBbtJLMm|WGY2&dw=ukCm#Lv%8dVf<=g(cV_W#8#*yL&go#aC LDo<~G@Du+86i8W2 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..d7b5f858fdc121ec424ea562e8ce4a793591c6b3 GIT binary patch literal 2856 zcmd^B-)|IE6h3EWyR+`XZntb_f!cPuEnBd4%Wk(*1ll49?E@$UEaES^wA1a@{n2a( zq=_b#$b*RiVti2u!C)djm=cI@5P6m8i}6W?5F?GoU?Pc$iFWIEXJ+ZPBL9H1d++_u zcg{Wc+&g#fJ?ni$GhQMliNqsOm23epXIP-!du@5KwrGg`7uRlDWXq_UGBiR3%F~!t zn^5>^9~qRUqm-o-6~U-91g1z+uoku&#VJM`p?O$;&|**@&5%qR`}aS;{c`E*J&21NvFU$ z5_Ce#V3^zv3mM^^p(^r7??_*PJ#DxAD<3;!D`^dwD78{2 zC21QyO?&8BdXZkj2R}|GKKi%l1f8PObe7K1CA^e+4mHOkJ)G=}C&B@Cx5lG=tcT-j zxPznJalMgMCGM7O1KYUOHn5FbZ3EkQ-4;&N#zSo!>53=2D>dDfuB&VV+gPa_M_J;! zIn=<3Uhax<#4R;ycvglFs$o?<7*@mWsL>o$)$r^8ttx%5UD5Ebw+z)6VEwk$5iqPu zhaRQ9wJq2XX$W$Q-XhIE%5eUZO06}LGl&TBuLseE!*<{zii*IkP^_TJa|%Nptgor5 z57w<)XMLCp7vwwgFa@ZQx(T-cH~Co!HgLG9m%D>8UIno!#;rk!O`w(Lh&!ZiVFh)f zk84ruJse|>MgrWGj7Hq`471LJo{Y9}x1N;u&JXttO44ADbirzyS>G@}yg_HQ(gn1a zZg~BE@A+9JP~(~Phx}Yu`pi>?p|VmQhKov9e}7Zq1HM+H>#V0Hpv;~Z{%(ZoO7AI) z0^4eFPAr_2@8X0Nb8e@nXeTbNSLrnzOqCN2`k9w5MXMZ%Cb5qaY6zQ-D~0an7$pi4KccAm60<~B{bX}7<41Ijf|sM>SQ zQ|j=FCM1aOKJfYdKC1#ytsn;?N@ z+Efj!Sj1hczv};xonhdd4>=^9+hc>oxjWjOj*1-}fRPSIJe2ar! zz__n0FIBkplMZ%+?{l!1+Nj^bK3auT0w=udG4y$YPCA&8Ow2l1LK5l!(XrxSIR68=QWkw45u|nSTmcc$FeKeaYmc?>A zWE7_|g}fGzZ7fs$M&2lv{Y)K8Croop8!Hxa+AcUWve|+*Su9K#BW7&eG$%KAbclfj z9~&v;a1rjnv<+lbChAer=m<@tUY>t>|HUlL#+KVJmmi*~Ew}1N40$W3TOQ989m7?S zK$IqOLJg&eoG%Bo%gGQ8.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}")}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 0000000000000000000000000000000000000000..0ebea3ca48974330cc581def5633dd362e913dbd GIT binary patch literal 2688 zcmd^B?{8C87=GV-yWZMCyN>Q&U~aqXMkjW5wCipW*gz1r526fkh`(6r?z+zYSh|8N zYBGr=niw#~FA5=;n1~-EiZW8f&uv?$m(-YtH@z4g?ufrZm=TlP`etCEm z?4Qw2WpXp)M|YMrBKch+SLcM88f*Sz_yn}q(ToWY$~E~I@I|!FiG2A;0{~*bL)VZi zrc<(ubBLdX?ail-Oz|W11^g>v>xER_9N1fVgGf0?B;}`y)8)T@|0x5h4*yGp+U42B zS$fe06BQuP0!y9CV!*Cn{q}1I{G0xydRzNr*8P=`+2i6#7s)0}4@pk2$mF8WXtiYv z){76(qGj7Nd8w7UiJ#o@)Lul|iER((vY8Y($AV9I84Q!#VPT`Z_o$9M(mT@EU{Ba1 z|3+~}tVDG(*!w)Y#cv#G4Q3sh$klDTc*4;h1S_JtF=BP# zU1Y%a;Da?|hTi$1MXY%V!E3KXXhc>PN*1g7zdy^Y4M;fKfc>72*iG#He6QWae$Nlt z%{gtiI43nC3TJKcmV8|H0WYKFv(a5xz=+E`U$ZrK*t;x1cYi@R)rEnc&c z<4v((ghPF?M6%YCtW8~K3v97cJCAZl>W*M5#|OAC$|1MZrsG+z?Nc>X-KVKqH+l^F zR8@QRzg?9d^z%CYS}dXZ9Mo@Ffq>Xtxjs5QWyMyIs!AmPHNwO(r`XA)83 z-?yvNG`nz7MNQ#WDOOR{HED1MS{fT$0?ljISpS%dXXNYhDEX<4lC%roTf2{yKr3tQ z1Dp&*c?Hb&D0c;5wu4qWLhhitkrnju&D@0E=;tVNIOONPL^$MbVaR&pMj{;Hq>+$! zEsXXLOVV(^bjBJx*jT$Ty4GNf(ix0rFMEAH@98HFwkFw4HX-%k&B^rrL!D ze9U)lMVA~3CvcA9Y7mExYmH<_loJNdof>p2QO2Q$N^3%jI~`qp1JK~KyJd61Fou|i z4C#tBE|4B!j_A@Ad;HbwS1x*j4W5ghN{?3zK|y@~VZF~+Z*>5wRpjt(?vr{!s6OA= zQes0)B!7U^3r5WpmGl0f=aR?YImO8xk6ApHR-|S#7MQG5$^|XRY;)ZuU zgqTO^n1h)bXwJbB`RGdr%izCpunYLAgX>78n+|qU1IrHf(g?3`a6N@N>)lo|Q)P2Z zKRBaj)5XGgu~7C_!EQ5iD3>Z#&FVN}mZr1Cf*y;mt5Snz!7NqtOdrm~%jI!>yj0BV zJCM-K<%;@LsW@q-%h8E)d1^yXkC;gC(R4A77vVN6+oTjOS(C;{r-L+uK1*pTQh~;; zz6{;n%x>s2xR`T@E#2e2TRj4GiKd|wS#^q0l-Au7H3(I~Qr=z9G#$olaa37GO*&c$ znesq8oC-};k^|Oh%JNMjPa5i|^#Un_-9SC~R995hN3E6S#X%9je8eMu``qtwvBWaF uxQ^U2*|B0F(nqq$?Rmd@K~(3&oh0f2(}orvi%EB6q3gP literal 0 HcmV?d00001 diff --git a/src/assets/css/iconfont/iconfont.woff b/src/assets/css/iconfont/iconfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..aef831424712ac863a595bee61dfbfa4b8004ddc GIT binary patch literal 1632 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..f3d2503fc2a44b5053b0837ebea6e87a2d339a43 GIT binary patch literal 6849 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 +
+ + + + +
    +
  • 断路器
  • +
  • 竖线
  • +
  • 文字
  • +
  • 隔离开关
  • +
  • 避雷器
  • +
  • 标准电容器
  • +
  • 电线开关
  • +
  • 表格
  • +
  • 横线
  • +
  • 多段向上折线
  • +
  • 多段向下折线
  • +
  • 箭头向上
  • +
  • 箭头向下
  • +
  • 接地灰白
  • +
  • 信号灯
  • +
  • 长方形
  • +
  • 双圆
  • +
  • 电流互感器y
  • +
  • 三相互感器开口
  • +
  • 双绕组变压器
  • +
  • 双绕组变压器B
  • +
  • 电容柜
  • +
  • 标准电抗
  • +
  • 发电机
  • +
+
+ +
    +
  • 智慧终端
  • +
+
+ +

{{ text }}

+
+
+
+ + + + \ 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