Commit 64e01e5e5c0414ee10521a4cb13277f6e091fe14
1 parent
c3320218
新增边框组件
Showing
19 changed files
with
922 additions
and
309 deletions
src/assets/images/widget/div1.svg
0 → 100644
| 1 | +<svg version="1.1" | |
| 2 | + baseProfile="full" | |
| 3 | + xmlns="http://www.w3.org/2000/svg" width="150px" height="150px" class="left-top border"> | |
| 4 | + <polygon points="6,66 6,18 12,12 18,12 24,6 27,6 30,9 36,9 39,6 84,6 81,9 75,9 73.2,7 40.8,7 37.8,10.2 24,10.2 12,21 12,24 9,27 9,51 7.8,54 7.8,63" fill="#83bff6"> | |
| 5 | + <animate attributeName="fill" values="#83bff6;#00CED1;#83bff6" dur="0.5s" begin="0s" repeatCount="indefinite"></animate> | |
| 6 | + </polygon> | |
| 7 | + <polygon points="27.599999999999998,4.8 38.4,4.8 35.4,7.8 30.599999999999998,7.8" fill="#00CED1"> | |
| 8 | + <animate attributeName="fill" values="#00CED1;#83bff6;#00CED1" dur="0.5s" begin="0s" repeatCount="indefinite"></animate> | |
| 9 | + </polygon> | |
| 10 | + <polygon points="9,54 9,63 7.199999999999999,66 7.199999999999999,75 7.8,78 7.8,110 8.4,110 8.4,66 9.6,66 9.6,54" fill="#83bff6"> | |
| 11 | + <animate attributeName="fill" values="#83bff6;#00CED1;transparent" dur="1s" begin="0s" repeatCount="indefinite"></animate> | |
| 12 | + </polygon> | |
| 13 | +</svg> | |
| 0 | 14 | \ No newline at end of file | ... | ... |
src/assets/images/widget/div10.svg
0 → 100644
src/assets/images/widget/div11.svg
0 → 100644
| 1 | +<svg version="1.1" | |
| 2 | + baseProfile="full" | |
| 3 | + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="transparent" width="2031" height="1297" class="dv-border-svg-container"> | |
| 4 | + <defs> | |
| 5 | + <filter id="border-box-11-filterId-9e10ba00f15c47168cdd79131ad04c90" height="150%" width="150%" x="-25%" y="-25%"> | |
| 6 | + <feMorphology operator="dilate" radius="2" in="SourceAlpha" result="thicken"></feMorphology> | |
| 7 | + <feGaussianBlur in="thicken" stdDeviation="3" result="blurred"></feGaussianBlur> | |
| 8 | + <feFlood result="glowColor" flood-color="#00CED1"></feFlood> | |
| 9 | + <feComposite in="glowColor" in2="blurred" operator="in" result="softGlowColored"></feComposite> | |
| 10 | + <feMerge> | |
| 11 | + <feMergeNode in="softGlowColored"></feMergeNode> | |
| 12 | + <feMergeNode in="SourceGraphic"></feMergeNode> | |
| 13 | + </feMerge> | |
| 14 | + </filter> | |
| 15 | + </defs> | |
| 16 | + <polygon fill="transparent" points=" | |
| 17 | + 20, 32 890.5, 32 910.5, 53 | |
| 18 | + 1120.5, 53 1140.5, 32 | |
| 19 | + 2011, 32 2023, 48 2023, 1272 2011, 1289 | |
| 20 | + 20, 1289 8, 1272 8, 50 | |
| 21 | +"></polygon> | |
| 22 | + <polyline filter="url(#border-box-11-filterId-9e10ba00f15c47168cdd79131ad04c90)" points=" | |
| 23 | + 890.5, 30 | |
| 24 | + 20, 30 7, 50 7, 615 | |
| 25 | + 13, 620 13, 700 | |
| 26 | + 7, 705 7, 1270 | |
| 27 | + 20, 1290 2011, 1290 2024, 1270 | |
| 28 | + 2024, 705 2018, 700 | |
| 29 | + 2018, 620 2024, 615 | |
| 30 | + 2024, 50 2011, 30 1140.5, 30 | |
| 31 | + 1120.5, 7 910.5, 7 | |
| 32 | + 890.5, 30 910.5, 52 | |
| 33 | + 1120.5, 52 1140.5, 30 | |
| 34 | + " stroke="#83bff6"></polyline> | |
| 35 | + <polygon fill="transparent" points=" | |
| 36 | + 1135.5, 30 1119.5, 11 | |
| 37 | + 1113.5, 11 1132.5, 34 | |
| 38 | + " stroke="#83bff6"></polygon> | |
| 39 | + <polygon fill="transparent" points=" | |
| 40 | + 895.5, 30 912.5, 49 | |
| 41 | + 918.5, 49 898.5, 26 | |
| 42 | + " stroke="#83bff6"></polygon> | |
| 43 | + <polygon fill="rgba(0,206,209,0.3)" filter="url(#border-box-11-filterId-9e10ba00f15c47168cdd79131ad04c90)" points=" | |
| 44 | + 1129.5, 37 1108.5, 11 | |
| 45 | + 913.5, 11 901.5, 23 | |
| 46 | + 923.5, 49 1118.5, 49 | |
| 47 | + " stroke="#83bff6"></polygon> | |
| 48 | + <polygon filter="url(#border-box-11-filterId-9e10ba00f15c47168cdd79131ad04c90)" opacity="1" points=" | |
| 49 | + 880.5, 37 859.5, 37 | |
| 50 | + 865.5, 46 886.5, 46 | |
| 51 | + " fill="#83bff6"> | |
| 52 | + <animate attributeName="opacity" values="1;0.7;1" dur="2s" begin="0s" repeatCount="indefinite"></animate> | |
| 53 | + </polygon> | |
| 54 | + <polygon filter="url(#border-box-11-filterId-9e10ba00f15c47168cdd79131ad04c90)" opacity="0.7" points=" | |
| 55 | + 850.5, 37 829.5, 37 | |
| 56 | + 835.5, 46 856.5, 46 | |
| 57 | + " fill="#83bff6"> | |
| 58 | + <animate attributeName="opacity" values="0.7;0.4;0.7" dur="2s" begin="0s" repeatCount="indefinite"></animate> | |
| 59 | + </polygon> | |
| 60 | + <polygon filter="url(#border-box-11-filterId-9e10ba00f15c47168cdd79131ad04c90)" opacity="0.5" points=" | |
| 61 | + 820.5, 37 799.5, 37 | |
| 62 | + 805.5, 46 826.5, 46 | |
| 63 | + " fill="#83bff6"> | |
| 64 | + <animate attributeName="opacity" values="0.5;0.2;0.5" dur="2s" begin="0s" repeatCount="indefinite"></animate> | |
| 65 | + </polygon> | |
| 66 | + <polygon filter="url(#border-box-11-filterId-9e10ba00f15c47168cdd79131ad04c90)" opacity="1" points=" | |
| 67 | + 1170.5, 37 1149.5, 37 | |
| 68 | + 1143.5, 46 1164.5, 46 | |
| 69 | + " fill="#83bff6"> | |
| 70 | + <animate attributeName="opacity" values="1;0.7;1" dur="2s" begin="0s" repeatCount="indefinite"></animate> | |
| 71 | + </polygon> | |
| 72 | + <polygon filter="url(#border-box-11-filterId-9e10ba00f15c47168cdd79131ad04c90)" opacity="0.7" points=" | |
| 73 | + 1200.5, 37 1179.5, 37 | |
| 74 | + 1173.5, 46 1194.5, 46 | |
| 75 | + " fill="#83bff6"> | |
| 76 | + <animate attributeName="opacity" values="0.7;0.4;0.7" dur="2s" begin="0s" repeatCount="indefinite"></animate> | |
| 77 | + </polygon> | |
| 78 | + <polygon filter="url(#border-box-11-filterId-9e10ba00f15c47168cdd79131ad04c90)" opacity="0.5" points=" | |
| 79 | + 1230.5, 37 1209.5, 37 | |
| 80 | + 1203.5, 46 1224.5, 46 | |
| 81 | + " fill="#83bff6"> | |
| 82 | + <animate attributeName="opacity" values="0.5;0.2;0.5" dur="2s" begin="0s" repeatCount="indefinite"></animate> | |
| 83 | + </polygon> | |
| 84 | + <text x="1015.5" y="32" fill="#fff" font-size="18" text-anchor="middle" dominant-baseline="middle" class="dv-border-box-11-title"> </text> | |
| 85 | + <polygon filter="url(#border-box-11-filterId-9e10ba00f15c47168cdd79131ad04c90)" points=" | |
| 86 | + 7, 618 11, 622 | |
| 87 | + 11, 698 7, 702 | |
| 88 | + " fill="#83bff6"></polygon> | |
| 89 | + <polygon filter="url(#border-box-11-filterId-9e10ba00f15c47168cdd79131ad04c90)" points=" | |
| 90 | + 2024, 618 2020, 622 | |
| 91 | + 2020, 698 2024, 702 | |
| 92 | + " fill="#83bff6"></polygon> | |
| 93 | +</svg> | |
| 0 | 94 | \ No newline at end of file | ... | ... |
src/assets/images/widget/div12.svg
0 → 100644
| 1 | +<svg version="1.1" | |
| 2 | + baseProfile="full" | |
| 3 | + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="transparent" width="2071" height="1531" class="dv-border-svg-container"> | |
| 4 | + <defs> | |
| 5 | + <filter id="borderr-box-12-filterId-5d013e65635a417398391ebc6dd90c54" height="150%" width="150%" x="-25%" y="-25%"> | |
| 6 | + <feMorphology operator="dilate" radius="1" in="SourceAlpha" result="thicken"></feMorphology> | |
| 7 | + <feGaussianBlur in="thicken" stdDeviation="2" result="blurred"></feGaussianBlur> | |
| 8 | + <feFlood flood-color="rgba(0,206,209,0.7)" result="glowColor"> | |
| 9 | + <animate attributeName="flood-color" values=" | |
| 10 | + rgba(0,206,209,0.7); | |
| 11 | + rgba(0,206,209,0.3); | |
| 12 | + rgba(0,206,209,0.7); | |
| 13 | +" dur="3s" begin="0s" repeatCount="indefinite"></animate> | |
| 14 | + </feFlood> | |
| 15 | + <feComposite in="glowColor" in2="blurred" operator="in" result="softGlowColored"></feComposite> | |
| 16 | + <feMerge> | |
| 17 | + <feMergeNode in="softGlowColored"></feMergeNode> | |
| 18 | + <feMergeNode in="SourceGraphic"></feMergeNode> | |
| 19 | + </feMerge> | |
| 20 | + </filter> | |
| 21 | + </defs> | |
| 22 | + <path fill="transparent" stroke-width="2" stroke="#83bff6" d=" | |
| 23 | +M15 5 L 2056 5 Q 2066 5, 2066 15 | |
| 24 | +L 2066 1516 Q 2066 1526, 2056 1526 | |
| 25 | +L 15, 1526 Q 5 1526 5 1516 L 5 15 | |
| 26 | +Q 5 5 15 5 | |
| 27 | +"></path> | |
| 28 | + <path stroke-width="2" fill="transparent" stroke-linecap="round" filter="url(#borderr-box-12-filterId-5d013e65635a417398391ebc6dd90c54)" d="M 20 5 L 15 5 Q 5 5 5 15 L 5 20" stroke="#00CED1"></path> | |
| 29 | + <path stroke-width="2" fill="transparent" stroke-linecap="round" filter="url(#borderr-box-12-filterId-5d013e65635a417398391ebc6dd90c54)" d="M 2051 5 L 2056 5 Q 2066 5 2066 15 L 2066 20" stroke="#00CED1"></path> | |
| 30 | + <path stroke-width="2" fill="transparent" stroke-linecap="round" filter="url(#borderr-box-12-filterId-5d013e65635a417398391ebc6dd90c54)" d=" | |
| 31 | +M 2051 1526 L 2056 1526 | |
| 32 | +Q 2066 1526 2066 1516 | |
| 33 | +L 2066 1511 | |
| 34 | +" stroke="#00CED1"></path> | |
| 35 | + <path stroke-width="2" fill="transparent" stroke-linecap="round" filter="url(#borderr-box-12-filterId-5d013e65635a417398391ebc6dd90c54)" d=" | |
| 36 | +M 20 1526 L 15 1526 | |
| 37 | +Q 5 1526 5 1516 | |
| 38 | +L 5 1511 | |
| 39 | +" stroke="#00CED1"></path> | |
| 40 | +</svg> | |
| 0 | 41 | \ No newline at end of file | ... | ... |
src/assets/images/widget/div2.svg
0 → 100644
| 1 | +<svg version="1.1" | |
| 2 | + baseProfile="full" | |
| 3 | + xmlns="http://www.w3.org/2000/svg" fill="transparent" width="2661" height="1737" class="dv-border-svg-container"> | |
| 4 | + <polygon fill="transparent" points=" | |
| 5 | + 7, 7 2654, 7 2654, 1730 7, 1730 | |
| 6 | + "></polygon> | |
| 7 | + <polyline points="2, 2 2659 ,2 2659, 1735 2, 1735 2, 2" stroke="#83bff6"></polyline> | |
| 8 | + <polyline points="6, 6 2655, 6 2655, 1731 6, 1731 6, 6" stroke="#00CED1"></polyline> | |
| 9 | + <circle cx="11" cy="11" r="1" fill="#83bff6"></circle> | |
| 10 | + <circle cx="2650" cy="11" r="1" fill="#83bff6"></circle> | |
| 11 | + <circle cx="2650" cy="1726" r="1" fill="#83bff6"></circle> | |
| 12 | + <circle cx="11" cy="1726" r="1" fill="#83bff6"></circle> | |
| 13 | +</svg> | |
| 0 | 14 | \ No newline at end of file | ... | ... |
src/assets/images/widget/div3.svg
0 → 100644
| 1 | +<svg version="1.1" | |
| 2 | + baseProfile="full" | |
| 3 | + xmlns="http://www.w3.org/2000/svg" fill="transparent" width="2058" height="1402" class="dv-border-svg-container"> | |
| 4 | + <polygon fill="transparent" points=" | |
| 5 | + 23, 23 2034, 23 2034, 1378 23, 1378 | |
| 6 | +"></polygon> | |
| 7 | + <polyline points="4, 4 2036 ,4 2036, 1380 4, 1380 4, 4" class="dv-bb3-line1" stroke="#83bff6"></polyline> | |
| 8 | + <polyline points="10, 10 2042, 10 2042, 1386 10, 1386 10, 10" class="dv-bb3-line2" stroke="#00CED1"></polyline> | |
| 9 | + <polyline points="16, 16 2048, 16 2048, 1392 16, 1392 16, 16" class="dv-bb3-line2" stroke="#00CED1"></polyline> | |
| 10 | + <polyline points="22, 22 2054, 22 2054, 1398 22, 1398 22, 22" class="dv-bb3-line2" stroke="#00CED1"></polyline> | |
| 11 | +</svg> | |
| 0 | 12 | \ No newline at end of file | ... | ... |
src/assets/images/widget/div4.svg
0 → 100644
| 1 | +<svg version="1.1" | |
| 2 | + baseProfile="full" | |
| 3 | + xmlns="http://www.w3.org/2000/svg" fill="transparent" width="1770" height="1483" class="dv-border-svg-container false"> | |
| 4 | + <polygon fill="transparent" points=" | |
| 5 | + 1755, 22 170, 22 150, 7 40, 7 28, 21 32, 24 | |
| 6 | + 16, 42 16, 1451 41, 1476 1755, 1476 | |
| 7 | +"></polygon> | |
| 8 | + <polyline points="145, 1478 40, 1478 10, 1448 | |
| 9 | + 10, 40 40, 5 150, 5 170, 20 1755, 20" class="dv-bb4-line-1" stroke="#83bff6"></polyline> | |
| 10 | + <polyline points="245, 1482 36, 1482 14, 1460 | |
| 11 | + 14, 1383" class="dv-bb4-line-2" stroke="#00CED1"></polyline> | |
| 12 | + <polyline points="7, 1443 7, 1408" class="dv-bb4-line-3" stroke="#83bff6"></polyline> | |
| 13 | + <polyline points="28, 24 13, 41 13, 64" class="dv-bb4-line-4" stroke="#83bff6"></polyline> | |
| 14 | + <polyline points="5, 45 5, 140" class="dv-bb4-line-5" stroke="#83bff6"></polyline> | |
| 15 | + <polyline points="14, 75 14, 180" class="dv-bb4-line-6" stroke="#00CED1"></polyline> | |
| 16 | + <polyline points="55, 11 147, 11 167, 26 250, 26" class="dv-bb4-line-7" stroke="#00CED1"></polyline> | |
| 17 | + <polyline points="158, 5 173, 16" class="dv-bb4-line-8" stroke="#00CED1"></polyline> | |
| 18 | + <polyline points="200, 17 1760, 17" class="dv-bb4-line-9" stroke="#83bff6"></polyline> | |
| 19 | + <polyline points="385, 17 1760, 17" class="dv-bb4-line-10" stroke="#00CED1"></polyline> | |
| 20 | +</svg> | |
| 0 | 21 | \ No newline at end of file | ... | ... |
src/assets/images/widget/div5.svg
0 → 100644
| 1 | +<svg version="1.1" | |
| 2 | + baseProfile="full" | |
| 3 | + xmlns="http://www.w3.org/2000/svg" fill="transparent" width="2156" height="1690" class="dv-border-svg-container false"> | |
| 4 | + <polygon fill="transparent" points=" | |
| 5 | + 10, 22 2134, 22 2134, 1604 2072, 1666 10, 1666 | |
| 6 | +"></polygon> | |
| 7 | + <polyline points="8, 5 2151, 5 2151, 1590 | |
| 8 | + 2056, 1685 8, 1685 8, 5" class="dv-bb5-line-1" stroke="#83bff6"></polyline> | |
| 9 | + <polyline points="3, 5 2136, 5 2136, 1630 | |
| 10 | + 2082, 1685 3, 1685 3, 5" class="dv-bb5-line-2" stroke="#00CED1"></polyline> | |
| 11 | + <polyline points="50, 13 2121, 13" class="dv-bb5-line-3" stroke="#00CED1"></polyline> | |
| 12 | + <polyline points="15, 20 2121, 20" class="dv-bb5-line-4" stroke="#00CED1"></polyline> | |
| 13 | + <polyline points="15, 1670 2046, 1670" class="dv-bb5-line-5" stroke="#00CED1"></polyline> | |
| 14 | + <polyline points="15, 1677 2046, 1677" class="dv-bb5-line-6" stroke="#00CED1"></polyline> | |
| 15 | +</svg> | |
| 0 | 16 | \ No newline at end of file | ... | ... |
src/assets/images/widget/div6.svg
0 → 100644
| 1 | +<svg version="1.1" | |
| 2 | + baseProfile="full" | |
| 3 | + xmlns="http://www.w3.org/2000/svg" fill="transparent" width="1854" height="1242" class="dv-border-svg-container"> | |
| 4 | + <polygon fill="transparent" points=" | |
| 5 | + 9, 7 1845, 7 1845, 1235 9, 1235 | |
| 6 | +"></polygon> | |
| 7 | + <circle cx="5" cy="5" r="2" fill="#00CED1"></circle> | |
| 8 | + <circle cx="1849" cy="5" r="2" fill="#00CED1"></circle> | |
| 9 | + <circle cx="1849" cy="1237" r="2" fill="#00CED1"></circle> | |
| 10 | + <circle cx="5" cy="1237" r="2" fill="#00CED1"></circle> | |
| 11 | + <polyline points="10, 4 1844, 4" stroke="#83bff6"></polyline> | |
| 12 | + <polyline points="10, 1238 1844, 1238" stroke="#83bff6"></polyline> | |
| 13 | + <polyline points="5, 70 5, 1172" stroke="#83bff6"></polyline> | |
| 14 | + <polyline points="1849, 70 1849, 1172" stroke="#83bff6"></polyline> | |
| 15 | + <polyline points="3, 10, 3, 50" stroke="#83bff6"></polyline> | |
| 16 | + <polyline points="7, 30 7, 80" stroke="#83bff6"></polyline> | |
| 17 | + <polyline points="1851, 10 1851, 50" stroke="#83bff6"></polyline> | |
| 18 | + <polyline points="1847, 30 1847, 80" stroke="#83bff6"></polyline> | |
| 19 | + <polyline points="3, 1232 3, 1192" stroke="#83bff6"></polyline> | |
| 20 | + <polyline points="7, 1212 7, 1162" stroke="#83bff6"></polyline> | |
| 21 | + <polyline points="1851, 1232 1851, 1192" stroke="#83bff6"></polyline> | |
| 22 | + <polyline points="1847, 1212 1847, 1162" stroke="#83bff6"></polyline> | |
| 23 | +</svg> | |
| 0 | 24 | \ No newline at end of file | ... | ... |
src/assets/images/widget/div7.svg
0 → 100644
| 1 | +<svg version="1.1" | |
| 2 | + baseProfile="full" | |
| 3 | + xmlns="http://www.w3.org/2000/svg" fill="transparent" width="1851" height="1317" class="dv-border-svg-container"> | |
| 4 | + <polyline points="0, 25 0, 0 25, 0" class="dv-bb7-line-width-2" stroke="#83bff6"></polyline> | |
| 5 | + <polyline points="1826, 0 1851, 0 1851, 25" class="dv-bb7-line-width-2" stroke="#83bff6"></polyline> | |
| 6 | + <polyline points="1826, 1317 1851, 1317 1851, 1292" class="dv-bb7-line-width-2" stroke="#83bff6"></polyline> | |
| 7 | + <polyline points="0, 1292 0, 1317 25, 1317" class="dv-bb7-line-width-2" stroke="#83bff6"></polyline> | |
| 8 | + <polyline points="0, 10 0, 0 10, 0" class="dv-bb7-line-width-5" stroke="#00CED1"></polyline> | |
| 9 | + <polyline points="1841, 0 1851, 0 1851, 10" class="dv-bb7-line-width-5" stroke="#00CED1"></polyline> | |
| 10 | + <polyline points="1841, 1317 1851, 1317 1851, 1307" class="dv-bb7-line-width-5" stroke="#00CED1"></polyline> | |
| 11 | + <polyline points="0, 1307 0, 1317 10, 1317" class="dv-bb7-line-width-5" stroke="#00CED1"></polyline> | |
| 12 | +</svg> | |
| 0 | 13 | \ No newline at end of file | ... | ... |
src/assets/images/widget/div8.svg
0 → 100644
| 1 | +<svg version="1.1" | |
| 2 | + baseProfile="full" | |
| 3 | + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="transparent" width="400" height="300" class="dv-border-svg-container"> | |
| 4 | + <defs> | |
| 5 | + <path id="border-box-8-path-d017f380de6f4b6da8ef829d8d549ca5" d="M2.5, 2.5 L397.5, 2.5 L397.5, 297.5 L2.5, 297.5 L2.5, 2.5" fill="transparent"></path> | |
| 6 | + <radialGradient id="border-box-8-gradient-d017f380de6f4b6da8ef829d8d549ca5" cx="50%" cy="50%" r="50%"> | |
| 7 | + <stop offset="0%" stop-color="#fff" stop-opacity="1"></stop> | |
| 8 | + <stop offset="100%" stop-color="#fff" stop-opacity="0"></stop> | |
| 9 | + </radialGradient> | |
| 10 | + <mask id="border-box-8-mask-d017f380de6f4b6da8ef829d8d549ca5"> | |
| 11 | + <circle cx="0" cy="0" r="150" fill="url(#border-box-8-gradient-d017f380de6f4b6da8ef829d8d549ca5)"> | |
| 12 | + <animateMotion dur="3s" path="M2.5, 2.5 L397.5, 2.5 L397.5, 297.5 L2.5, 297.5 L2.5, 2.5" rotate="auto" repeatCount="indefinite"></animateMotion> | |
| 13 | + </circle> | |
| 14 | + </mask> | |
| 15 | + </defs> | |
| 16 | + <polygon fill="transparent" points="5, 5 395, 5 395 295 5, 295"></polygon> | |
| 17 | + <use stroke-width="1" xlink:href="#border-box-8-path-d017f380de6f4b6da8ef829d8d549ca5" stroke="#83bff6"></use> | |
| 18 | + <use stroke-width="3" xlink:href="#border-box-8-path-d017f380de6f4b6da8ef829d8d549ca5" mask="url(#border-box-8-mask-d017f380de6f4b6da8ef829d8d549ca5)" stroke="#00CED1"> | |
| 19 | + <animate attributeName="stroke-dasharray" from="0, 1390" to="1390, 0" dur="3s" repeatCount="indefinite"></animate> | |
| 20 | + </use> | |
| 21 | +</svg> | |
| 0 | 22 | \ No newline at end of file | ... | ... |
src/assets/images/widget/div9.svg
0 → 100644
| 1 | +<svg version="1.1" | |
| 2 | + baseProfile="full" | |
| 3 | + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="transparent" width="1715" height="1351" class="dv-border-svg-container"> | |
| 4 | + <defs> | |
| 5 | + <linearGradient id="border-box-9-gradient-c5735993b5bc4fd6a14a3883485a32d3" x1="0%" y1="0%" x2="100%" y2="100%"> | |
| 6 | + <animate attributeName="x1" values="0%;100%;0%" dur="10s" begin="0s" repeatCount="indefinite"></animate> | |
| 7 | + <animate attributeName="x2" values="100%;0%;100%" dur="10s" begin="0s" repeatCount="indefinite"></animate> | |
| 8 | + <stop offset="0%" stop-color="#83bff6"> | |
| 9 | + <animate attributeName="stop-color" values="#83bff6;#00CED1;#83bff6" dur="10s" begin="0s" repeatCount="indefinite"></animate> | |
| 10 | + </stop> | |
| 11 | + <stop offset="100%" stop-color="#00CED1"> | |
| 12 | + <animate attributeName="stop-color" values="#00CED1;#83bff6;#00CED1" dur="10s" begin="0s" repeatCount="indefinite"></animate> | |
| 13 | + </stop> | |
| 14 | + </linearGradient> | |
| 15 | + <mask id="border-box-9-mask-c5735993b5bc4fd6a14a3883485a32d3"> | |
| 16 | + <polyline stroke="#fff" stroke-width="3" fill="transparent" points="8, 540.4 8, 3, 693, 3"></polyline> | |
| 17 | + <polyline fill="#fff" points="8, 202.65 8, 3, 178.5, 3 | |
| 18 | + 171.5, 8 14, 8 14, 195.65 | |
| 19 | +"></polyline> | |
| 20 | + <polyline stroke="#fff" stroke-width="3" fill="transparent" points="857.5, 3 1712, 3, 1712, 337.75"></polyline> | |
| 21 | + <polyline fill="#fff" points=" | |
| 22 | + 891.8000000000001, 3 994.6999999999999, 3 | |
| 23 | + 987.6999999999999, 9 898.8000000000001, 9 | |
| 24 | +"></polyline> | |
| 25 | + <polyline fill="#fff" points=" | |
| 26 | + 1543.5, 3 1712, 3 1712, 135.1 | |
| 27 | + 1706, 128.1 1706, 9 1550.5, 9 | |
| 28 | +"></polyline> | |
| 29 | + <polyline stroke="#fff" stroke-width="3" fill="transparent" points="8, 675.5 8, 1348 521.5, 1348"></polyline> | |
| 30 | + <polyline fill="#fff" points=" | |
| 31 | + 8, 743.0500000000001 8, 945.6999999999999 | |
| 32 | + 2, 938.6999999999999 2, 750.0500000000001 | |
| 33 | +"></polyline> | |
| 34 | + <polyline stroke="#fff" stroke-width="3" fill="transparent" points="600.25, 1348 1712, 1348 1712, 472.84999999999997"></polyline> | |
| 35 | + <polyline fill="#fff" points=" | |
| 36 | + 1577.8000000000002, 1348 1712, 1348 1712, 1080.8 | |
| 37 | + 1706, 1087.8 1706, 1342 1584.8000000000002, 1342 | |
| 38 | +"></polyline> | |
| 39 | + </mask> | |
| 40 | + </defs> | |
| 41 | + <polygon fill="transparent" points=" | |
| 42 | +15, 9 172.5, 9 175.5, 6 893.8000000000001, 6 | |
| 43 | +897.8000000000001, 10 987.6999999999999, 10 992.6999999999999, 6 | |
| 44 | +1545.5, 6 1549.5, 10 1705, 10 1705, 129.1 | |
| 45 | +1709, 134.1 1709, 1081.8 1705, 1086.8 | |
| 46 | +1705, 1341 1584.8000000000002, 1341 1579.8000000000002, 1345 | |
| 47 | +11, 1345 11, 200.65 15, 195.65 | |
| 48 | +"></polygon> | |
| 49 | + <rect x="0" y="0" width="1715" height="1351" fill="url(#border-box-9-gradient-c5735993b5bc4fd6a14a3883485a32d3)" mask="url(#border-box-9-mask-c5735993b5bc4fd6a14a3883485a32d3)"></rect> | |
| 50 | +</svg> | |
| 0 | 51 | \ No newline at end of file | ... | ... |
src/views/bigscreenDesigner/designer/index.vue
| ... | ... | @@ -7,45 +7,51 @@ |
| 7 | 7 | !--> |
| 8 | 8 | <template> |
| 9 | 9 | <div class="layout"> |
| 10 | - <div | |
| 11 | - v-if="toolIsShow" | |
| 12 | - class="layout-left" | |
| 13 | - :style="{ width: widthLeftForTools + 'px' }" | |
| 14 | - > | |
| 15 | - <el-tabs type="border-card" :stretch="true"> | |
| 10 | + <div v-if="toolIsShow" class="layout-left" :style="{ width: widthLeftForTools + 'px' }"> | |
| 11 | + <el-tabs type="border-card" :stretch="true" class="border-card"> | |
| 16 | 12 | <!-- 左侧组件栏--> |
| 17 | - <el-tab-pane label="工具栏"> | |
| 13 | + <el-tab-pane label="工具栏" class="toolBar"> | |
| 18 | 14 | <!-- <el-divider content-position="center">html</el-divider>--> |
| 19 | - <li | |
| 20 | - v-for="widget in widgetTools" | |
| 21 | - :key="widget.code" | |
| 22 | - draggable="true" | |
| 23 | - @dragstart="dragStart(widget.code)" | |
| 24 | - @dragend="dragEnd()" | |
| 25 | - > | |
| 15 | + | |
| 16 | + <el-menu default-active="2" class="el-menu-vertical-demo" background-color="#242f3b" text-color="#fff" | |
| 17 | + active-text-color="#ffd04b"> | |
| 18 | + <el-submenu index="1"> | |
| 19 | + <template slot="title"> | |
| 20 | + <i class="el-icon-location"></i> | |
| 21 | + <span>装饰</span> | |
| 22 | + </template> | |
| 23 | + <el-menu-item v-for="widget in widgetTools" :key="widget.code"> | |
| 24 | + <li draggable="true" @dragstart="dragStart(widget.code)" @dragend="dragEnd()"> | |
| 25 | + <div class="tools-item"> | |
| 26 | + <span class="tools-item-icon"> | |
| 27 | + <i class="iconfont" :class="widget.icon"></i> | |
| 28 | + </span> | |
| 29 | + <span class="tools-item-text">{{ widget.label }}</span> | |
| 30 | + </div> | |
| 31 | + </li> | |
| 32 | + </el-menu-item> | |
| 33 | + </el-submenu> | |
| 34 | + </el-menu> | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + <!-- <li v-for="widget in widgetTools" :key="widget.code" draggable="true" @dragstart="dragStart(widget.code)" | |
| 40 | + @dragend="dragEnd()"> | |
| 26 | 41 | <div class="tools-item"> |
| 27 | 42 | <span class="tools-item-icon"> |
| 28 | 43 | <i class="iconfont" :class="widget.icon"></i> |
| 29 | 44 | </span> |
| 30 | 45 | <span class="tools-item-text">{{ widget.label }}</span> |
| 31 | 46 | </div> |
| 32 | - </li> | |
| 47 | + </li> --> | |
| 33 | 48 | </el-tab-pane> |
| 34 | 49 | <!-- 左侧图层--> |
| 35 | 50 | <el-tab-pane label="图层"> |
| 36 | - <draggable | |
| 37 | - v-model="layerWidget" | |
| 38 | - @update="datadragEnd" | |
| 39 | - :options="{ animation: 300 }" | |
| 40 | - > | |
| 51 | + <draggable v-model="layerWidget" @update="datadragEnd" :options="{ animation: 300 }"> | |
| 41 | 52 | <transition-group> |
| 42 | - <div | |
| 43 | - v-for="(item, index) in layerWidget" | |
| 44 | - :key="'item' + index" | |
| 45 | - class="tools-item" | |
| 46 | - :class="widgetIndex == index ? 'is-active' : ''" | |
| 47 | - @click="layerClick(index)" | |
| 48 | - > | |
| 53 | + <div v-for="(item, index) in layerWidget" :key="'item' + index" class="tools-item" | |
| 54 | + :class="widgetIndex == index ? 'is-active' : ''" @click="layerClick(index)"> | |
| 49 | 55 | <span class="tools-item-icon"> |
| 50 | 56 | <i class="iconfont" :class="item.icon"></i> |
| 51 | 57 | </span> |
| ... | ... | @@ -57,80 +63,40 @@ |
| 57 | 63 | </el-tabs> |
| 58 | 64 | </div> |
| 59 | 65 | |
| 60 | - <div | |
| 61 | - class="layout-left-fold" | |
| 62 | - :style="{ width: widthLeftForToolsHideButton + 'px' }" | |
| 63 | - @click="toolIsShow = !toolIsShow" | |
| 64 | - > | |
| 66 | + <div class="layout-left-fold" :style="{ width: widthLeftForToolsHideButton + 'px' }" | |
| 67 | + @click="toolIsShow = !toolIsShow"> | |
| 65 | 68 | <i class="el-icon-arrow-right" /> |
| 66 | 69 | </div> |
| 67 | 70 | |
| 68 | - <div | |
| 69 | - class="layout-middle" | |
| 70 | - :style="{ width: middleWidth + 'px', height: middleHeight + 'px' }" | |
| 71 | - > | |
| 71 | + <div class="layout-middle" :style="{ width: middleWidth + 'px', height: middleHeight + 'px' }"> | |
| 72 | 72 | <div class="top-button"> |
| 73 | 73 | <span class="btn"> |
| 74 | - <el-tooltip | |
| 75 | - class="item" | |
| 76 | - effect="dark" | |
| 77 | - content="保存" | |
| 78 | - placement="bottom" | |
| 79 | - > | |
| 74 | + <el-tooltip class="item" effect="dark" content="保存" placement="bottom"> | |
| 80 | 75 | <i class="iconfont iconsave" @click="saveData"></i> |
| 81 | 76 | </el-tooltip> |
| 82 | 77 | </span> |
| 83 | 78 | <span class="btn"> |
| 84 | - <el-tooltip | |
| 85 | - class="item" | |
| 86 | - effect="dark" | |
| 87 | - content="预览" | |
| 88 | - placement="bottom" | |
| 89 | - > | |
| 79 | + <el-tooltip class="item" effect="dark" content="预览" placement="bottom"> | |
| 90 | 80 | <i class="iconfont iconyulan" @click="viewScreen"></i> |
| 91 | 81 | </el-tooltip> |
| 92 | 82 | </span> |
| 93 | 83 | |
| 94 | 84 | <span class="btn"> |
| 95 | - <el-tooltip | |
| 96 | - class="item" | |
| 97 | - effect="dark" | |
| 98 | - content="撤销" | |
| 99 | - placement="bottom" | |
| 100 | - > | |
| 85 | + <el-tooltip class="item" effect="dark" content="撤销" placement="bottom"> | |
| 101 | 86 | <i class="iconfont iconundo" @click="handleUndo"></i> |
| 102 | 87 | </el-tooltip> |
| 103 | 88 | </span> |
| 104 | 89 | |
| 105 | 90 | <span class="btn"> |
| 106 | - <el-tooltip | |
| 107 | - class="item" | |
| 108 | - effect="dark" | |
| 109 | - content="恢复" | |
| 110 | - placement="bottom" | |
| 111 | - > | |
| 91 | + <el-tooltip class="item" effect="dark" content="恢复" placement="bottom"> | |
| 112 | 92 | <i class="iconfont iconhuifubeifen" @click="handleRedo"></i> |
| 113 | 93 | </el-tooltip> |
| 114 | 94 | </span> |
| 115 | 95 | |
| 116 | 96 | <span class="btn" v-permission="'bigScreenManage:export'"> |
| 117 | - <el-tooltip | |
| 118 | - class="item" | |
| 119 | - effect="dark" | |
| 120 | - content="导入" | |
| 121 | - placement="bottom" | |
| 122 | - > | |
| 123 | - <el-upload | |
| 124 | - class="el-upload" | |
| 125 | - ref="upload" | |
| 126 | - :action="uploadUrl" | |
| 127 | - :headers="headers" | |
| 128 | - accept=".zip" | |
| 129 | - :on-success="handleUpload" | |
| 130 | - :on-error="handleError" | |
| 131 | - :show-file-list="false" | |
| 132 | - :limit="1" | |
| 133 | - > | |
| 97 | + <el-tooltip class="item" effect="dark" content="导入" placement="bottom"> | |
| 98 | + <el-upload class="el-upload" ref="upload" :action="uploadUrl" :headers="headers" accept=".zip" | |
| 99 | + :on-success="handleUpload" :on-error="handleError" :show-file-list="false" :limit="1"> | |
| 134 | 100 | <i class="iconfont icondaoru"></i> |
| 135 | 101 | </el-upload> |
| 136 | 102 | </el-tooltip> |
| ... | ... | @@ -138,26 +104,15 @@ |
| 138 | 104 | <span class="btn border-left" v-permission="'bigScreenManage:import'"> |
| 139 | 105 | <ul class="nav"> |
| 140 | 106 | <li> |
| 141 | - <i class="iconfont icondaochu"></i | |
| 142 | - ><i class="el-icon-arrow-down"></i> | |
| 107 | + <i class="iconfont icondaochu"></i><i class="el-icon-arrow-down"></i> | |
| 143 | 108 | <ul> |
| 144 | 109 | <li> |
| 145 | - <el-tooltip | |
| 146 | - class="item" | |
| 147 | - effect="dark" | |
| 148 | - content="适合当前系统" | |
| 149 | - placement="right" | |
| 150 | - > | |
| 110 | + <el-tooltip class="item" effect="dark" content="适合当前系统" placement="right"> | |
| 151 | 111 | <div @click="exportDashboard(1)">导出(包含数据集)</div> |
| 152 | 112 | </el-tooltip> |
| 153 | 113 | </li> |
| 154 | 114 | <li> |
| 155 | - <el-tooltip | |
| 156 | - class="item" | |
| 157 | - effect="dark" | |
| 158 | - content="适合跨系统" | |
| 159 | - placement="right" | |
| 160 | - > | |
| 115 | + <el-tooltip class="item" effect="dark" content="适合跨系统" placement="right"> | |
| 161 | 116 | <div @click="exportDashboard(0)">导出(不包含数据集)</div> |
| 162 | 117 | </el-tooltip> |
| 163 | 118 | </li> |
| ... | ... | @@ -166,58 +121,30 @@ |
| 166 | 121 | </ul> |
| 167 | 122 | </span> |
| 168 | 123 | </div> |
| 169 | - <div | |
| 170 | - class="workbench-container" | |
| 171 | - :style="{ | |
| 172 | - width: bigscreenWidthInWorkbench + 'px', | |
| 173 | - height: bigscreenHeightInWorkbench + 'px' | |
| 174 | - }" | |
| 175 | - @mousedown="handleMouseDown" | |
| 176 | - > | |
| 177 | - <vue-ruler-tool | |
| 178 | - v-model="dashboard.presetLine" | |
| 179 | - class="vueRuler" | |
| 180 | - :step-length="50" | |
| 181 | - :parent="true" | |
| 182 | - :position="'relative'" | |
| 183 | - :is-scale-revise="true" | |
| 184 | - :visible.sync="dashboard.presetLineVisible" | |
| 185 | - > | |
| 186 | - <div | |
| 187 | - id="workbench" | |
| 188 | - class="workbench" | |
| 189 | - :style="{ | |
| 190 | - transform: workbenchTransform, | |
| 191 | - width: bigscreenWidth + 'px', | |
| 192 | - height: bigscreenHeight + 'px', | |
| 193 | - 'background-color': dashboard.backgroundColor, | |
| 194 | - 'background-image': 'url(' + dashboard.backgroundImage + ')', | |
| 195 | - 'background-position': '0% 0%', | |
| 196 | - 'background-size': '100% 100%', | |
| 197 | - 'background-repeat': 'initial', | |
| 198 | - 'background-attachment': 'initial', | |
| 199 | - 'background-origin': 'initial', | |
| 200 | - 'background-clip': 'initial' | |
| 201 | - }" | |
| 202 | - @click.self="setOptionsOnClickScreen" | |
| 203 | - @drop="widgetOnDragged($event)" | |
| 204 | - @dragover="dragOver($event)" | |
| 205 | - > | |
| 124 | + <div class="workbench-container" :style="{ | |
| 125 | + width: bigscreenWidthInWorkbench + 'px', | |
| 126 | + height: bigscreenHeightInWorkbench + 'px' | |
| 127 | + }" @mousedown="handleMouseDown"> | |
| 128 | + <vue-ruler-tool v-model="dashboard.presetLine" class="vueRuler" :step-length="50" :parent="true" | |
| 129 | + :position="'relative'" :is-scale-revise="true" :visible.sync="dashboard.presetLineVisible"> | |
| 130 | + <div id="workbench" class="workbench" :style="{ | |
| 131 | + transform: workbenchTransform, | |
| 132 | + width: bigscreenWidth + 'px', | |
| 133 | + height: bigscreenHeight + 'px', | |
| 134 | + 'background-color': dashboard.backgroundColor, | |
| 135 | + 'background-image': 'url(' + dashboard.backgroundImage + ')', | |
| 136 | + 'background-position': '0% 0%', | |
| 137 | + 'background-size': '100% 100%', | |
| 138 | + 'background-repeat': 'initial', | |
| 139 | + 'background-attachment': 'initial', | |
| 140 | + 'background-origin': 'initial', | |
| 141 | + 'background-clip': 'initial' | |
| 142 | + }" @click.self="setOptionsOnClickScreen" @drop="widgetOnDragged($event)" @dragover="dragOver($event)"> | |
| 206 | 143 | <div v-if="grade" class="bg-grid"></div> |
| 207 | - <widget | |
| 208 | - ref="widgets" | |
| 209 | - v-for="(widget, index) in widgets" | |
| 210 | - :key="index" | |
| 211 | - v-model="widget.value" | |
| 212 | - :index="index" | |
| 213 | - :step="step" | |
| 214 | - :type="widget.type" | |
| 215 | - :bigscreen="{ bigscreenWidth, bigscreenHeight }" | |
| 216 | - @onActivated="setOptionsOnClickWidget" | |
| 217 | - @contextmenu.prevent.native="rightClick($event, index)" | |
| 218 | - @mousedown.prevent.native="widgetsClick(index)" | |
| 219 | - @mouseup.prevent.native="widgetsMouseup" | |
| 220 | - /> | |
| 144 | + <widget ref="widgets" v-for="(widget, index) in widgets" :key="index" v-model="widget.value" :index="index" | |
| 145 | + :step="step" :type="widget.type" :bigscreen="{ bigscreenWidth, bigscreenHeight }" | |
| 146 | + @onActivated="setOptionsOnClickWidget" @contextmenu.prevent.native="rightClick($event, index)" | |
| 147 | + @mousedown.prevent.native="widgetsClick(index)" @mouseup.prevent.native="widgetsMouseup" /> | |
| 221 | 148 | </div> |
| 222 | 149 | </vue-ruler-tool> |
| 223 | 150 | </div> |
| ... | ... | @@ -225,54 +152,26 @@ |
| 225 | 152 | |
| 226 | 153 | <div class="layout-right" :style="{ width: widthLeftForOptions + 'px' }"> |
| 227 | 154 | <el-tabs v-model="activeName" type="border-card" :stretch="true"> |
| 228 | - <el-tab-pane | |
| 229 | - v-if=" | |
| 230 | - isNotNull(widgetOptions.setup) || isNotNull(widgetOptions.collapse) | |
| 231 | - " | |
| 232 | - name="first" | |
| 233 | - label="配置" | |
| 234 | - > | |
| 235 | - <dynamicForm | |
| 236 | - ref="formData" | |
| 237 | - :options="widgetOptions.setup" | |
| 238 | - @onChanged="val => widgetValueChanged('setup', val)" | |
| 239 | - /> | |
| 155 | + <el-tab-pane v-if=" | |
| 156 | + isNotNull(widgetOptions.setup) || isNotNull(widgetOptions.collapse) | |
| 157 | + " name="first" label="配置"> | |
| 158 | + <dynamicForm ref="formData" :options="widgetOptions.setup" | |
| 159 | + @onChanged="val => widgetValueChanged('setup', val)" /> | |
| 240 | 160 | </el-tab-pane> |
| 241 | - <el-tab-pane | |
| 242 | - v-if="isNotNull(widgetOptions.data)" | |
| 243 | - name="second" | |
| 244 | - label="数据" | |
| 245 | - > | |
| 246 | - <dynamicForm | |
| 247 | - ref="formData" | |
| 248 | - :options="widgetOptions.data" | |
| 249 | - @onChanged="val => widgetValueChanged('data', val)" | |
| 250 | - /> | |
| 161 | + <el-tab-pane v-if="isNotNull(widgetOptions.data)" name="second" label="数据"> | |
| 162 | + <dynamicForm ref="formData" :options="widgetOptions.data" | |
| 163 | + @onChanged="val => widgetValueChanged('data', val)" /> | |
| 251 | 164 | </el-tab-pane> |
| 252 | - <el-tab-pane | |
| 253 | - v-if="isNotNull(widgetOptions.position)" | |
| 254 | - name="third" | |
| 255 | - label="坐标" | |
| 256 | - > | |
| 257 | - <dynamicForm | |
| 258 | - ref="formData" | |
| 259 | - :options="widgetOptions.position" | |
| 260 | - @onChanged="val => widgetValueChanged('position', val)" | |
| 261 | - /> | |
| 165 | + <el-tab-pane v-if="isNotNull(widgetOptions.position)" name="third" label="坐标"> | |
| 166 | + <dynamicForm ref="formData" :options="widgetOptions.position" | |
| 167 | + @onChanged="val => widgetValueChanged('position', val)" /> | |
| 262 | 168 | </el-tab-pane> |
| 263 | 169 | </el-tabs> |
| 264 | 170 | </div> |
| 265 | 171 | |
| 266 | - <content-menu | |
| 267 | - :visible.sync="visibleContentMenu" | |
| 268 | - :style-obj="styleObj" | |
| 269 | - @deletelayer="deletelayer" | |
| 270 | - @copylayer="copylayer" | |
| 271 | - @istopLayer="istopLayer" | |
| 272 | - @setlowLayer="setlowLayer" | |
| 273 | - @moveupLayer="moveupLayer" | |
| 274 | - @movedownLayer="movedownLayer" | |
| 275 | - /> | |
| 172 | + <content-menu :visible.sync="visibleContentMenu" :style-obj="styleObj" @deletelayer="deletelayer" | |
| 173 | + @copylayer="copylayer" @istopLayer="istopLayer" @setlowLayer="setlowLayer" @moveupLayer="moveupLayer" | |
| 174 | + @movedownLayer="movedownLayer" /> | |
| 276 | 175 | </div> |
| 277 | 176 | </template> |
| 278 | 177 | |
| ... | ... | @@ -407,9 +306,8 @@ export default { |
| 407 | 306 | return Math.min(widthScale, heightScale); |
| 408 | 307 | }, |
| 409 | 308 | workbenchTransform() { |
| 410 | - return `scale(${this.bigscreenScaleInWorkbench}, ${ | |
| 411 | - this.bigscreenScaleInWorkbench | |
| 412 | - })`; | |
| 309 | + return `scale(${this.bigscreenScaleInWorkbench}, ${this.bigscreenScaleInWorkbench | |
| 310 | + })`; | |
| 413 | 311 | }, |
| 414 | 312 | // 大屏在设计模式的大小 |
| 415 | 313 | bigscreenWidthInWorkbench() { |
| ... | ... | @@ -616,7 +514,7 @@ export default { |
| 616 | 514 | if (type == "application/json") { |
| 617 | 515 | let reader = new FileReader(); |
| 618 | 516 | reader.readAsText(res, "utf-8"); |
| 619 | - reader.onload = function() { | |
| 517 | + reader.onload = function () { | |
| 620 | 518 | const data = JSON.parse(reader.result); |
| 621 | 519 | that.$message.error(data.message); |
| 622 | 520 | }; |
| ... | ... | @@ -1021,8 +919,8 @@ export default { |
| 1021 | 919 | border: 1px solid #3a4659; |
| 1022 | 920 | background: #282a30; |
| 1023 | 921 | } |
| 1024 | - .tools-item-text { | |
| 1025 | - } | |
| 922 | + | |
| 923 | + .tools-item-text {} | |
| 1026 | 924 | } |
| 1027 | 925 | } |
| 1028 | 926 | |
| ... | ... | @@ -1076,10 +974,14 @@ export default { |
| 1076 | 974 | |
| 1077 | 975 | .el-icon-arrow-down { |
| 1078 | 976 | transform: rotate(0deg); |
| 1079 | - -ms-transform: rotate(0deg); /* IE 9 */ | |
| 1080 | - -moz-transform: rotate(0deg); /* Firefox */ | |
| 1081 | - -webkit-transform: rotate(0deg); /* Safari 和 Chrome */ | |
| 1082 | - -o-transform: rotate(0deg); /* Opera */ | |
| 977 | + -ms-transform: rotate(0deg); | |
| 978 | + /* IE 9 */ | |
| 979 | + -moz-transform: rotate(0deg); | |
| 980 | + /* Firefox */ | |
| 981 | + -webkit-transform: rotate(0deg); | |
| 982 | + /* Safari 和 Chrome */ | |
| 983 | + -o-transform: rotate(0deg); | |
| 984 | + /* Opera */ | |
| 1083 | 985 | transition: all 0.4s ease-in-out; |
| 1084 | 986 | } |
| 1085 | 987 | |
| ... | ... | @@ -1088,10 +990,14 @@ export default { |
| 1088 | 990 | |
| 1089 | 991 | .el-icon-arrow-down { |
| 1090 | 992 | transform: rotate(180deg); |
| 1091 | - -ms-transform: rotate(180deg); /* IE 9 */ | |
| 1092 | - -moz-transform: rotate(180deg); /* Firefox */ | |
| 1093 | - -webkit-transform: rotate(180deg); /* Safari 和 Chrome */ | |
| 1094 | - -o-transform: rotate(180deg); /* Opera */ | |
| 993 | + -ms-transform: rotate(180deg); | |
| 994 | + /* IE 9 */ | |
| 995 | + -moz-transform: rotate(180deg); | |
| 996 | + /* Firefox */ | |
| 997 | + -webkit-transform: rotate(180deg); | |
| 998 | + /* Safari 和 Chrome */ | |
| 999 | + -o-transform: rotate(180deg); | |
| 1000 | + /* Opera */ | |
| 1095 | 1001 | transition: all 0.4s ease-in-out; |
| 1096 | 1002 | } |
| 1097 | 1003 | } |
| ... | ... | @@ -1132,10 +1038,8 @@ export default { |
| 1132 | 1038 | width: 100%; |
| 1133 | 1039 | height: 100%; |
| 1134 | 1040 | background-size: 30px 30px, 30px 30px; |
| 1135 | - background-image: linear-gradient( | |
| 1136 | - hsla(0, 0%, 100%, 0.1) 1px, | |
| 1137 | - transparent 0 | |
| 1138 | - ), | |
| 1041 | + background-image: linear-gradient(hsla(0, 0%, 100%, 0.1) 1px, | |
| 1042 | + transparent 0), | |
| 1139 | 1043 | linear-gradient(90deg, hsla(0, 0%, 100%, 0.1) 1px, transparent 0); |
| 1140 | 1044 | // z-index: 2; |
| 1141 | 1045 | } |
| ... | ... | @@ -1255,13 +1159,13 @@ li { |
| 1255 | 1159 | clear: both; |
| 1256 | 1160 | } |
| 1257 | 1161 | |
| 1258 | -.nav > li { | |
| 1162 | +.nav>li { | |
| 1259 | 1163 | width: 55px; |
| 1260 | 1164 | text-align: left; |
| 1261 | 1165 | position: relative; |
| 1262 | 1166 | } |
| 1263 | 1167 | |
| 1264 | -.nav > li a { | |
| 1168 | +.nav>li a { | |
| 1265 | 1169 | float: left; |
| 1266 | 1170 | padding: 12px 30px; |
| 1267 | 1171 | color: #999; |
| ... | ... | @@ -1269,11 +1173,11 @@ li { |
| 1269 | 1173 | text-decoration: none; |
| 1270 | 1174 | } |
| 1271 | 1175 | |
| 1272 | -.nav > li:hover { | |
| 1176 | +.nav>li:hover { | |
| 1273 | 1177 | color: #788994; |
| 1274 | 1178 | } |
| 1275 | 1179 | |
| 1276 | -.nav > li ul { | |
| 1180 | +.nav>li ul { | |
| 1277 | 1181 | visibility: hidden; |
| 1278 | 1182 | position: absolute; |
| 1279 | 1183 | z-index: 1000; |
| ... | ... | @@ -1287,7 +1191,7 @@ li { |
| 1287 | 1191 | transition: all 0.2s ease-in-out; |
| 1288 | 1192 | } |
| 1289 | 1193 | |
| 1290 | -.nav > li:hover > ul { | |
| 1194 | +.nav>li:hover>ul { | |
| 1291 | 1195 | opacity: 1; |
| 1292 | 1196 | visibility: visible; |
| 1293 | 1197 | margin: 0; |
| ... | ... | @@ -1320,7 +1224,7 @@ li { |
| 1320 | 1224 | border: 1px solid #3c5e88; |
| 1321 | 1225 | } |
| 1322 | 1226 | |
| 1323 | -.nav ul li:first-child > a:hover:before { | |
| 1227 | +.nav ul li:first-child>a:hover:before { | |
| 1324 | 1228 | border-bottom-color: #04acec; |
| 1325 | 1229 | } |
| 1326 | 1230 | |
| ... | ... | @@ -1353,4 +1257,26 @@ li { |
| 1353 | 1257 | /deep/ .vue-ruler-v { |
| 1354 | 1258 | opacity: 0.3; |
| 1355 | 1259 | } |
| 1260 | + | |
| 1261 | + | |
| 1262 | +.border-card { | |
| 1263 | + /deep/ .el-tabs__content { | |
| 1264 | + padding: 0; | |
| 1265 | + } | |
| 1266 | +} | |
| 1267 | + | |
| 1268 | +.toolBar { | |
| 1269 | + /deep/ .el-submenu__title { | |
| 1270 | + padding: 0 0 0 15px !important; | |
| 1271 | + } | |
| 1272 | + | |
| 1273 | + .el-menu { | |
| 1274 | + border: 0; | |
| 1275 | + } | |
| 1276 | + | |
| 1277 | + /deep/ .el-menu-item { | |
| 1278 | + padding: 0 !important; | |
| 1279 | + min-width: none !important; | |
| 1280 | + } | |
| 1281 | +} | |
| 1356 | 1282 | </style> | ... | ... |
src/views/bigscreenDesigner/designer/tools/configure/widget-div.js
| ... | ... | @@ -17,14 +17,14 @@ export const widgetDiv = { |
| 17 | 17 | placeholder: '', |
| 18 | 18 | value: '边框', |
| 19 | 19 | }, |
| 20 | - { | |
| 21 | - type: 'el-input-text', | |
| 22 | - label: '隐藏', | |
| 23 | - name: 'bHide', | |
| 24 | - required: false, | |
| 25 | - placeholder: '', | |
| 26 | - value: false, | |
| 27 | - }, | |
| 20 | + // { | |
| 21 | + // type: 'el-input-text', | |
| 22 | + // label: '隐藏', | |
| 23 | + // name: 'bHide', | |
| 24 | + // required: false, | |
| 25 | + // placeholder: '', | |
| 26 | + // value: false, | |
| 27 | + // }, | |
| 28 | 28 | { |
| 29 | 29 | type: 'el-select', |
| 30 | 30 | label: '边框类型', |
| ... | ... | @@ -37,41 +37,48 @@ export const widgetDiv = { |
| 37 | 37 | {code: 'div_Style_3', name: '边框3'}, |
| 38 | 38 | {code: 'div_Style_4', name: '边框4'}, |
| 39 | 39 | {code: 'div_Style_5', name: '边框5'}, |
| 40 | + {code: 'div_Style_6', name: '边框6'}, | |
| 41 | + {code: 'div_Style_7', name: '边框7'}, | |
| 42 | + {code: 'div_Style_8', name: '边框8'}, | |
| 43 | + {code: 'div_Style_9', name: '边框9'}, | |
| 44 | + {code: 'div_Style_10', name: '边框10'}, | |
| 45 | + {code: 'div_Style_11', name: '边框11'}, | |
| 46 | + {code: 'div_Style_12', name: '边框12'}, | |
| 40 | 47 | ], |
| 41 | 48 | value: 'div_Style_1' |
| 42 | 49 | }, |
| 43 | - { | |
| 44 | - type: 'vue-color', | |
| 45 | - label: '边框主颜色', | |
| 46 | - name: 'colorOne', | |
| 47 | - required: false, | |
| 48 | - placeholder: '', | |
| 49 | - value: '#FAD400', | |
| 50 | - }, | |
| 51 | - { | |
| 52 | - type: 'vue-color', | |
| 53 | - label: '边框副颜色', | |
| 54 | - name: 'colorTwo', | |
| 55 | - required: false, | |
| 56 | - placeholder: '', | |
| 57 | - value: '#FAD400', | |
| 58 | - }, | |
| 50 | + // { | |
| 51 | + // type: 'vue-color', | |
| 52 | + // label: '边框主颜色', | |
| 53 | + // name: 'colorOne', | |
| 54 | + // required: false, | |
| 55 | + // placeholder: '', | |
| 56 | + // value: '#FAD400', | |
| 57 | + // }, | |
| 58 | + // { | |
| 59 | + // type: 'vue-color', | |
| 60 | + // label: '边框副颜色', | |
| 61 | + // name: 'colorTwo', | |
| 62 | + // required: false, | |
| 63 | + // placeholder: '', | |
| 64 | + // value: '#FAD400', | |
| 65 | + // }, | |
| 59 | 66 | { |
| 60 | 67 | type: 'vue-color', |
| 61 | 68 | label: '背景色', |
| 62 | 69 | name: 'background', |
| 63 | 70 | required: false, |
| 64 | 71 | placeholder: '', |
| 65 | - value: 'rgba(115,170,229,.5)', | |
| 66 | - }, | |
| 67 | - { | |
| 68 | - type: 'el-input-text', | |
| 69 | - label: '动画时长(秒)', | |
| 70 | - name: 'time', | |
| 71 | - required: false, | |
| 72 | - placeholder: '', | |
| 73 | - value: '3', | |
| 72 | + value: '', | |
| 74 | 73 | }, |
| 74 | + // { | |
| 75 | + // type: 'el-input-text', | |
| 76 | + // label: '动画时长(秒)', | |
| 77 | + // name: 'time', | |
| 78 | + // required: false, | |
| 79 | + // placeholder: '', | |
| 80 | + // value: '3', | |
| 81 | + // }, | |
| 75 | 82 | ], |
| 76 | 83 | // 数据 |
| 77 | 84 | data: [], |
| ... | ... | @@ -99,7 +106,7 @@ export const widgetDiv = { |
| 99 | 106 | name: 'width', |
| 100 | 107 | required: false, |
| 101 | 108 | placeholder: '该容器在1920px大屏中的宽度', |
| 102 | - value: 100, | |
| 109 | + value: 1000, | |
| 103 | 110 | }, |
| 104 | 111 | { |
| 105 | 112 | type: 'el-input-number', |
| ... | ... | @@ -107,7 +114,7 @@ export const widgetDiv = { |
| 107 | 114 | name: 'height', |
| 108 | 115 | required: false, |
| 109 | 116 | placeholder: '该容器在1080px大屏中的高度', |
| 110 | - value: 40, | |
| 117 | + value: 600, | |
| 111 | 118 | }, |
| 112 | 119 | ], |
| 113 | 120 | } | ... | ... |
src/views/bigscreenDesigner/designer/tools/index.js
| ... | ... | @@ -6,80 +6,88 @@ |
| 6 | 6 | * @LastEditors: qianlishi |
| 7 | 7 | * @LastEditTime: 2022-03-11 10:35:35 |
| 8 | 8 | */ |
| 9 | -import { widgetTool } from "./main" | |
| 9 | +import { widgetTool } from "./main"; | |
| 10 | 10 | const screenConfig = { |
| 11 | - code: 'screen', | |
| 12 | - type: 'screen', | |
| 13 | - label: '大屏设置', | |
| 14 | - icon: '', | |
| 11 | + code: "screen", | |
| 12 | + type: "screen", | |
| 13 | + label: "大屏设置", | |
| 14 | + icon: "", | |
| 15 | 15 | options: { |
| 16 | 16 | setup: [ |
| 17 | 17 | { |
| 18 | - type: 'el-input-number', | |
| 19 | - label: '大屏宽度', | |
| 20 | - name: 'width', | |
| 18 | + type: "el-input-number", | |
| 19 | + label: "大屏宽度", | |
| 20 | + name: "width", | |
| 21 | 21 | required: false, |
| 22 | - placeholder: 'px', | |
| 23 | - value: '1920', | |
| 22 | + placeholder: "px", | |
| 23 | + value: "1920" | |
| 24 | 24 | }, |
| 25 | 25 | { |
| 26 | - type: 'el-input-number', | |
| 27 | - label: '大屏高度', | |
| 28 | - name: 'height', | |
| 26 | + type: "el-input-number", | |
| 27 | + label: "大屏高度", | |
| 28 | + name: "height", | |
| 29 | 29 | required: false, |
| 30 | - placeholder: 'px', | |
| 31 | - value: '1080', | |
| 30 | + placeholder: "px", | |
| 31 | + value: "1080" | |
| 32 | 32 | }, |
| 33 | 33 | { |
| 34 | - type: 'el-input-text', | |
| 35 | - label: '标题', | |
| 36 | - name: 'title', | |
| 34 | + type: "el-input-text", | |
| 35 | + label: "标题", | |
| 36 | + name: "title", | |
| 37 | 37 | require: false, |
| 38 | - placeholder: '', | |
| 39 | - value: '大屏', | |
| 38 | + placeholder: "", | |
| 39 | + value: "大屏" | |
| 40 | 40 | }, |
| 41 | 41 | { |
| 42 | - type: 'el-input-textarea', | |
| 43 | - label: '大屏简介', | |
| 44 | - name: 'description', | |
| 42 | + type: "el-input-textarea", | |
| 43 | + label: "大屏简介", | |
| 44 | + name: "description", | |
| 45 | 45 | required: false, |
| 46 | - placeholder: '', | |
| 46 | + placeholder: "" | |
| 47 | 47 | }, |
| 48 | 48 | { |
| 49 | - type: 'vue-color', | |
| 50 | - label: '背景颜色', | |
| 51 | - name: 'backgroundColor', | |
| 49 | + type: "vue-color", | |
| 50 | + label: "背景颜色", | |
| 51 | + name: "backgroundColor", | |
| 52 | 52 | required: false, |
| 53 | - placeholder: '', | |
| 54 | - value: '#000', | |
| 53 | + placeholder: "", | |
| 54 | + value: "#000" | |
| 55 | 55 | }, |
| 56 | 56 | { |
| 57 | - type: 'custom-upload', | |
| 58 | - label: '图片地址', | |
| 59 | - name: 'backgroundImage', | |
| 57 | + type: "custom-upload", | |
| 58 | + label: "图片地址", | |
| 59 | + name: "backgroundImage", | |
| 60 | 60 | required: false, |
| 61 | - placeholder: '', | |
| 62 | - value: 'https://ajreport.beliefteam.cn/file/download/bf566e48-ccad-40e1-8ee9-228427e5466b', | |
| 63 | - }, | |
| 61 | + placeholder: "", | |
| 62 | + value: | |
| 63 | + "https://ajreport.beliefteam.cn/file/download/bf566e48-ccad-40e1-8ee9-228427e5466b" | |
| 64 | + } | |
| 64 | 65 | ], |
| 65 | 66 | data: [], |
| 66 | - position: [], | |
| 67 | + position: [] | |
| 67 | 68 | } |
| 68 | -} | |
| 69 | -const widgetTools = [ | |
| 70 | - ...widgetTool | |
| 71 | -] | |
| 69 | +}; | |
| 70 | +const widgetTools = [...widgetTool]; | |
| 72 | 71 | |
| 73 | -const getToolByCode = function (code) { | |
| 72 | +const getToolByCode = function(code) { | |
| 74 | 73 | // 获取大屏底层设置属性 |
| 75 | - if (code == 'screen') { | |
| 76 | - return screenConfig | |
| 74 | + if (code == "screen") { | |
| 75 | + return screenConfig; | |
| 77 | 76 | } |
| 78 | 77 | // 获取组件 |
| 79 | - let item = widgetTools.find(function (item, index, arrs) { | |
| 80 | - return item.code === code | |
| 81 | - }) | |
| 82 | - return item | |
| 83 | -} | |
| 84 | -console.log(widgetTools) | |
| 85 | -export {widgetTools, getToolByCode} | |
| 78 | + let item = widgetTools.find(function(item, index, arrs) { | |
| 79 | + return item.code === code; | |
| 80 | + }); | |
| 81 | + return item; | |
| 82 | +}; | |
| 83 | +console.log(widgetTools); | |
| 84 | + | |
| 85 | +const widgetToolsGroup = () => { | |
| 86 | + let chartGroup = []; | |
| 87 | + | |
| 88 | + for (const item of widgetTools) { | |
| 89 | + | |
| 90 | + } | |
| 91 | + | |
| 92 | +}; | |
| 93 | +export { widgetTools, getToolByCode, widgetToolsGroup }; | ... | ... |
src/views/bigscreenDesigner/designer/widget/div/svg/div1.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <div class="bg"> | |
| 3 | + <!-- <svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg" fill="transparent" width="400" height="300" | |
| 4 | + class="bgColor"> | |
| 5 | + <polygon :fill="bgColor" points="10, 27 10, 273 13, 276 13, 279 24, 289 | |
| 6 | + 38, 289 41, 292 73, 292 75, 290 81, 290 | |
| 7 | + 85, 294 315, 294 319, 290 325, 290 | |
| 8 | + 327, 292 359, 292 362, 289 | |
| 9 | + 376, 289 387, 279 387, 276 | |
| 10 | + 390, 273 390, 27 387, 25 387, 21 | |
| 11 | + 376, 11 362, 11 359, 8 327, 8 325, 10 | |
| 12 | + 319, 10 315, 6 85, 6 81, 10 75, 10 73, 8 41, 8 38, 11 24, 11 13, 21 13, 24"></polygon> | |
| 13 | + </svg> --> | |
| 14 | + <svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg" width="150px" height="150px" | |
| 15 | + class="top-left"> | |
| 16 | + <polygon | |
| 17 | + points="6,66 6,18 12,12 18,12 24,6 27,6 30,9 36,9 39,6 84,6 81,9 75,9 73.2,7 40.8,7 37.8,10.2 24,10.2 12,21 12,24 9,27 9,51 7.8,54 7.8,63" | |
| 18 | + :fill="mainColor"> | |
| 19 | + <animate attributeName="fill" :value="valuesArr[0]" dur="0.5s" begin="0s" repeatCount="indefinite"> | |
| 20 | + </animate> | |
| 21 | + </polygon> | |
| 22 | + <polygon points="27.599999999999998,4.8 38.4,4.8 35.4,7.8 30.599999999999998,7.8" :fill="secondaryColor"> | |
| 23 | + <animate attributeName="fill" :value="valuesArr[1]" dur="0.5s" begin="0s" repeatCount="indefinite"> | |
| 24 | + </animate> | |
| 25 | + </polygon> | |
| 26 | + <polygon points="9,54 9,63 7.199999999999999,66 7.199999999999999,75 7.8,78 7.8,110 8.4,110 8.4,66 9.6,66 9.6,54" | |
| 27 | + :fill="mainColor"> | |
| 28 | + <animate attributeName="fill" :value="valuesArr[2]" dur="1s" begin="0s" repeatCount="indefinite"> | |
| 29 | + </animate> | |
| 30 | + </polygon> | |
| 31 | + </svg> | |
| 32 | + <svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg" width="150px" height="150px" | |
| 33 | + class="top-right"> | |
| 34 | + <polygon | |
| 35 | + points="6,66 6,18 12,12 18,12 24,6 27,6 30,9 36,9 39,6 84,6 81,9 75,9 73.2,7 40.8,7 37.8,10.2 24,10.2 12,21 12,24 9,27 9,51 7.8,54 7.8,63" | |
| 36 | + :fill="mainColor"> | |
| 37 | + <animate attributeName="fill" :value="valuesArr[0]" dur="0.5s" begin="0s" repeatCount="indefinite"> | |
| 38 | + </animate> | |
| 39 | + </polygon> | |
| 40 | + <polygon points="27.599999999999998,4.8 38.4,4.8 35.4,7.8 30.599999999999998,7.8" :fill="secondaryColor"> | |
| 41 | + <animate attributeName="fill" :value="valuesArr[1]" dur="0.5s" begin="0s" repeatCount="indefinite"> | |
| 42 | + </animate> | |
| 43 | + </polygon> | |
| 44 | + <polygon points="9,54 9,63 7.199999999999999,66 7.199999999999999,75 7.8,78 7.8,110 8.4,110 8.4,66 9.6,66 9.6,54" | |
| 45 | + :fill="mainColor"> | |
| 46 | + <animate attributeName="fill" :value="valuesArr[2]" dur="1s" begin="0s" repeatCount="indefinite"> | |
| 47 | + </animate> | |
| 48 | + </polygon> | |
| 49 | + </svg> | |
| 50 | + <svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg" width="150px" height="150px" | |
| 51 | + class="bottom-left"> | |
| 52 | + <polygon | |
| 53 | + points="6,66 6,18 12,12 18,12 24,6 27,6 30,9 36,9 39,6 84,6 81,9 75,9 73.2,7 40.8,7 37.8,10.2 24,10.2 12,21 12,24 9,27 9,51 7.8,54 7.8,63" | |
| 54 | + :fill="mainColor"> | |
| 55 | + <animate attributeName="fill" :value="valuesArr[0]" dur="0.5s" begin="0s" repeatCount="indefinite"> | |
| 56 | + </animate> | |
| 57 | + </polygon> | |
| 58 | + <polygon points="27.599999999999998,4.8 38.4,4.8 35.4,7.8 30.599999999999998,7.8" :fill="secondaryColor"> | |
| 59 | + <animate attributeName="fill" :value="valuesArr[1]" dur="0.5s" begin="0s" repeatCount="indefinite"> | |
| 60 | + </animate> | |
| 61 | + </polygon> | |
| 62 | + <polygon points="9,54 9,63 7.199999999999999,66 7.199999999999999,75 7.8,78 7.8,110 8.4,110 8.4,66 9.6,66 9.6,54" | |
| 63 | + :fill="mainColor"> | |
| 64 | + <animate attributeName="fill" :value="valuesArr[2]" dur="1s" begin="0s" repeatCount="indefinite"> | |
| 65 | + </animate> | |
| 66 | + </polygon> | |
| 67 | + </svg> | |
| 68 | + <svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg" width="150px" height="150px" | |
| 69 | + class="bottom-right"> | |
| 70 | + <polygon | |
| 71 | + points="6,66 6,18 12,12 18,12 24,6 27,6 30,9 36,9 39,6 84,6 81,9 75,9 73.2,7 40.8,7 37.8,10.2 24,10.2 12,21 12,24 9,27 9,51 7.8,54 7.8,63" | |
| 72 | + :fill="mainColor"> | |
| 73 | + <animate attributeName="fill" :value="valuesArr[0]" dur="0.5s" begin="0s" repeatCount="indefinite"> | |
| 74 | + </animate> | |
| 75 | + </polygon> | |
| 76 | + <polygon points="27.599999999999998,4.8 38.4,4.8 35.4,7.8 30.599999999999998,7.8" :fill="secondaryColor"> | |
| 77 | + <animate attributeName="fill" :value="valuesArr[1]" dur="0.5s" begin="0s" repeatCount="indefinite"> | |
| 78 | + </animate> | |
| 79 | + </polygon> | |
| 80 | + <polygon points="9,54 9,63 7.199999999999999,66 7.199999999999999,75 7.8,78 7.8,110 8.4,110 8.4,66 9.6,66 9.6,54" | |
| 81 | + :fill="mainColor"> | |
| 82 | + <animate attributeName="fill" :value="valuesArr[2]" dur="1s" begin="0s" repeatCount="indefinite"> | |
| 83 | + </animate> | |
| 84 | + </polygon> | |
| 85 | + </svg> | |
| 86 | + </div> | |
| 87 | +</template> | |
| 88 | + | |
| 89 | +<script> | |
| 90 | +export default { | |
| 91 | + name: 'widget-div-1', | |
| 92 | + props: { | |
| 93 | + mainColor: { | |
| 94 | + type: String, | |
| 95 | + default: "#83bff6", | |
| 96 | + }, | |
| 97 | + secondaryColor: { | |
| 98 | + type: String, | |
| 99 | + default: "#00CED1", | |
| 100 | + }, | |
| 101 | + // bgColor: { | |
| 102 | + // type: String, | |
| 103 | + // default: "transparent", | |
| 104 | + // }, | |
| 105 | + }, | |
| 106 | + computed: { | |
| 107 | + valuesArr() { | |
| 108 | + return [`${this.mainColor};${this.secondaryColor};${this.mainColor};`, | |
| 109 | + `${this.secondaryColor};${this.mainColor};${this.secondaryColor};`, | |
| 110 | + `${this.mainColor};${this.secondaryColor};transparent;`]; | |
| 111 | + } | |
| 112 | + } | |
| 113 | +}; | |
| 114 | +</script> | |
| 115 | + | |
| 116 | +<style lang="scss" scoped> | |
| 117 | +.bg { | |
| 118 | + width: 100%; | |
| 119 | + height: 100%; | |
| 120 | + position: relative; | |
| 121 | + | |
| 122 | + svg { | |
| 123 | + position: absolute; | |
| 124 | + width: 6em; | |
| 125 | + height: 6em; | |
| 126 | + } | |
| 127 | + | |
| 128 | + .bgColor { | |
| 129 | + width: 100%; | |
| 130 | + height: 100%; | |
| 131 | + top: 0; | |
| 132 | + left: 0; | |
| 133 | + } | |
| 134 | + | |
| 135 | + .top-left { | |
| 136 | + top: 0; | |
| 137 | + left: 0; | |
| 138 | + } | |
| 139 | + | |
| 140 | + .top-right { | |
| 141 | + top: 0; | |
| 142 | + right: 0; | |
| 143 | + transform: rotateY(180deg); | |
| 144 | + } | |
| 145 | + | |
| 146 | + .bottom-left { | |
| 147 | + left: 0; | |
| 148 | + bottom: 0; | |
| 149 | + transform: rotateX(180deg); | |
| 150 | + } | |
| 151 | + | |
| 152 | + .bottom-right { | |
| 153 | + bottom: 0; | |
| 154 | + right: 0; | |
| 155 | + transform: rotateX(180deg) rotateY(180deg); | |
| 156 | + } | |
| 157 | +} | |
| 158 | +</style> | |
| 0 | 159 | \ No newline at end of file | ... | ... |
src/views/bigscreenDesigner/designer/widget/div/svg/div2.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <div class="bg"> | |
| 3 | + <svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg" fill="transparent" width="2661" | |
| 4 | + height="1737" class="dv-border-svg-container"> | |
| 5 | + <polygon fill="transparent" points=" | |
| 6 | + 7, 7 2654, 7 2654, 1730 7, 1730 | |
| 7 | + "></polygon> | |
| 8 | + <polyline points="2, 2 2659 ,2 2659, 1735 2, 1735 2, 2" :stroke="mainColor"></polyline> | |
| 9 | + <polyline points="6, 6 2655, 6 2655, 1731 6, 1731 6, 6" :stroke="secondaryColor"></polyline> | |
| 10 | + <circle cx="11" cy="11" r="1" :fill="mainColor"></circle> | |
| 11 | + <circle cx="2650" cy="11" r="1" :fill="mainColor"></circle> | |
| 12 | + <circle cx="2650" cy="1726" r="1" :fill="mainColor"></circle> | |
| 13 | + <circle cx="11" cy="1726" r="1" :fill="mainColor"></circle> | |
| 14 | + </svg> | |
| 15 | + </div> | |
| 16 | +</template> | |
| 17 | + | |
| 18 | +<script> | |
| 19 | +export default { | |
| 20 | + name: 'widget-div-2', | |
| 21 | + props: { | |
| 22 | + mainColor: { | |
| 23 | + type: String, | |
| 24 | + default: "mainColor", | |
| 25 | + }, | |
| 26 | + secondaryColor: { | |
| 27 | + type: String, | |
| 28 | + default: "secondaryColor", | |
| 29 | + }, | |
| 30 | + }, | |
| 31 | + computed: { | |
| 32 | + valuesArr() { | |
| 33 | + return [`${this.mainColor};${this.secondaryColor};${this.mainColor};`, | |
| 34 | + `${this.secondaryColor};${this.mainColor};${this.secondaryColor};`, | |
| 35 | + `${this.mainColor};${this.secondaryColor};transparent;`]; | |
| 36 | + } | |
| 37 | + } | |
| 38 | +}; | |
| 39 | +</script> | |
| 40 | + | |
| 41 | +<style lang="scss" scoped> | |
| 42 | +.bg { | |
| 43 | + width: 100%; | |
| 44 | + height: 100%; | |
| 45 | + position: relative; | |
| 46 | +} | |
| 47 | +</style> | |
| 0 | 48 | \ No newline at end of file | ... | ... |
src/views/bigscreenDesigner/designer/widget/div/widgetDiv.vue
| 1 | 1 | <!-- |
| 2 | 2 | Div 图层 |
| 3 | 3 | --> |
| 4 | - <template> | |
| 5 | - <div :class="[divClass]" :style="styleColor"> | |
| 6 | - {{ styleColor.text }} | |
| 4 | +<template> | |
| 5 | + <div :style="styleColor"> | |
| 6 | + | |
| 7 | + <!-- <component :is="styleColor.divClass" :mainColor="transStyle.colorOne" :secondaryColor="transStyle.colorTwo"> | |
| 8 | + </component> --> | |
| 9 | + <div :class="['div_Style', styleColor.divClass]" v-if=" | |
| 10 | + styleColor.divClass === 'div_Style_1' || | |
| 11 | + styleColor.divClass === 'div_Style_10' | |
| 12 | + "> | |
| 13 | + <div class="topLeft"></div> | |
| 14 | + <div class="topRight"></div> | |
| 15 | + <div class="bottomLeft"></div> | |
| 16 | + <div class="bottomRight"></div> | |
| 17 | + </div> | |
| 18 | + <div :class="['div_Style', styleColor.divClass]" v-else></div> | |
| 7 | 19 | </div> |
| 8 | 20 | </template> |
| 9 | 21 | |
| 10 | 22 | <script> |
| 23 | +// import WidgeDiv1 from './svg/div1.vue'; | |
| 24 | +// import WidgeDiv2 from './svg/div2.vue'; | |
| 11 | 25 | export default { |
| 12 | 26 | name: "WidgetDiv", |
| 13 | - components: {}, | |
| 27 | + components: { | |
| 28 | + // div_Style_1: WidgeDiv1, | |
| 29 | + // div_Style_2: WidgeDiv2 | |
| 30 | + }, | |
| 14 | 31 | props: { |
| 15 | 32 | value: Object, |
| 16 | - ispreview: Boolean | |
| 33 | + ispreview: Boolean, | |
| 17 | 34 | }, |
| 18 | 35 | data() { |
| 19 | 36 | return { |
| 20 | 37 | options: {}, |
| 21 | - optionsData: {} | |
| 38 | + optionsData: {}, | |
| 22 | 39 | }; |
| 23 | 40 | }, |
| 24 | 41 | computed: { |
| ... | ... | @@ -30,7 +47,8 @@ export default { |
| 30 | 47 | position: this.ispreview ? "absolute" : "static", |
| 31 | 48 | color: this.transStyle.colorOne, |
| 32 | 49 | text: this.transStyle.text, |
| 33 | - divClass: this.transStyle.divType == undefined | |
| 50 | + divClass: | |
| 51 | + this.transStyle.divType == undefined | |
| 34 | 52 | ? "div_Style_1" |
| 35 | 53 | : this.transStyle.divType, |
| 36 | 54 | background: this.transStyle.background, |
| ... | ... | @@ -38,9 +56,9 @@ export default { |
| 38 | 56 | height: this.transStyle.height + "px", |
| 39 | 57 | left: this.transStyle.left + "px", |
| 40 | 58 | top: this.transStyle.top + "px", |
| 41 | - right: this.transStyle.right + "px" | |
| 59 | + right: this.transStyle.right + "px", | |
| 42 | 60 | }; |
| 43 | - } | |
| 61 | + }, | |
| 44 | 62 | }, |
| 45 | 63 | watch: { |
| 46 | 64 | value: { |
| ... | ... | @@ -49,21 +67,21 @@ export default { |
| 49 | 67 | this.optionsData = val.data; |
| 50 | 68 | this.setOptionsData(); |
| 51 | 69 | }, |
| 52 | - deep: true | |
| 53 | - } | |
| 54 | - }, | |
| 70 | + deep: true, | |
| 71 | + }, | |
| 72 | + }, | |
| 55 | 73 | watch: { |
| 56 | 74 | value: { |
| 57 | 75 | handler(val) { |
| 58 | 76 | this.options = val; |
| 59 | 77 | }, |
| 60 | - deep: true | |
| 61 | - } | |
| 78 | + deep: true, | |
| 79 | + }, | |
| 62 | 80 | }, |
| 63 | 81 | mounted() { |
| 64 | 82 | this.options = this.value; |
| 65 | 83 | }, |
| 66 | - methods: {} | |
| 84 | + methods: {}, | |
| 67 | 85 | }; |
| 68 | 86 | </script> |
| 69 | 87 | |
| ... | ... | @@ -75,4 +93,135 @@ export default { |
| 75 | 93 | border-color: aqua; |
| 76 | 94 | overflow: hidden; |
| 77 | 95 | } |
| 96 | + | |
| 97 | +.div_Style { | |
| 98 | + width: 100%; | |
| 99 | + height: 100%; | |
| 100 | +} | |
| 101 | + | |
| 102 | +.div_Style_1 { | |
| 103 | + fill: red; | |
| 104 | + position: relative; | |
| 105 | + | |
| 106 | + >div { | |
| 107 | + position: absolute; | |
| 108 | + width: 6em; | |
| 109 | + height: 6em; | |
| 110 | + background: url("../../../../../assets/images/widget/div1.svg") no-repeat; | |
| 111 | + background-size: 100% 100%; | |
| 112 | + } | |
| 113 | + | |
| 114 | + .topLeft { | |
| 115 | + top: 0; | |
| 116 | + left: 0; | |
| 117 | + } | |
| 118 | + | |
| 119 | + .topRight { | |
| 120 | + top: 0; | |
| 121 | + right: 0; | |
| 122 | + transform: rotateY(180deg); | |
| 123 | + } | |
| 124 | + | |
| 125 | + .bottomLeft { | |
| 126 | + left: 0; | |
| 127 | + bottom: 0; | |
| 128 | + transform: rotateX(180deg); | |
| 129 | + } | |
| 130 | + | |
| 131 | + .bottomRight { | |
| 132 | + bottom: 0; | |
| 133 | + right: 0; | |
| 134 | + transform: rotateX(180deg) rotateY(180deg); | |
| 135 | + } | |
| 136 | +} | |
| 137 | + | |
| 138 | +.div_Style_2 { | |
| 139 | + background: url("../../../../../assets/images/widget/div2.svg") no-repeat; | |
| 140 | + background-size: 100% 100%; | |
| 141 | +} | |
| 142 | + | |
| 143 | +.div_Style_3 { | |
| 144 | + background: url("../../../../../assets/images/widget/div3.svg") no-repeat; | |
| 145 | + background-size: 100% 100%; | |
| 146 | +} | |
| 147 | + | |
| 148 | +.div_Style_4 { | |
| 149 | + background: url("../../../../../assets/images/widget/div4.svg") no-repeat; | |
| 150 | + background-size: 100% 100%; | |
| 151 | +} | |
| 152 | + | |
| 153 | +.div_Style_5 { | |
| 154 | + background: url("../../../../../assets/images/widget/div5.svg") no-repeat; | |
| 155 | + background-size: 100% 100%; | |
| 156 | +} | |
| 157 | + | |
| 158 | +.div_Style_6 { | |
| 159 | + background: url("../../../../../assets/images/widget/div6.svg") no-repeat; | |
| 160 | + background-size: 100% 100%; | |
| 161 | +} | |
| 162 | + | |
| 163 | +.div_Style_7 { | |
| 164 | + box-shadow: rgb(131, 191, 246) 0px 0px 40px inset; | |
| 165 | + border: 1px solid rgb(131, 191, 246); | |
| 166 | + background: url("../../../../../assets/images/widget/div7.svg") no-repeat; | |
| 167 | + background-size: 100% 100%; | |
| 168 | +} | |
| 169 | + | |
| 170 | +.div_Style_8 { | |
| 171 | + height: 100%; | |
| 172 | + background: url("../../../../../assets/images/widget/div8.svg") no-repeat; | |
| 173 | + background-size: 100% 100%; | |
| 174 | +} | |
| 175 | + | |
| 176 | +.div_Style_9 { | |
| 177 | + background: url("../../../../../assets/images/widget/div9.svg") no-repeat; | |
| 178 | + background-size: 100% 100%; | |
| 179 | +} | |
| 180 | + | |
| 181 | +.div_Style_10 { | |
| 182 | + position: relative; | |
| 183 | + box-shadow: rgb(131, 191, 246) 0px 0px 25px 3px inset; | |
| 184 | + | |
| 185 | + >div { | |
| 186 | + position: absolute; | |
| 187 | + width: 6em; | |
| 188 | + height: 6em; | |
| 189 | + background: url("../../../../../assets/images/widget/div10.svg") no-repeat; | |
| 190 | + background-size: 100% 100%; | |
| 191 | + } | |
| 192 | + | |
| 193 | + .topLeft { | |
| 194 | + top: 0; | |
| 195 | + left: 0; | |
| 196 | + } | |
| 197 | + | |
| 198 | + .topRight { | |
| 199 | + top: 0; | |
| 200 | + right: 0; | |
| 201 | + transform: rotateY(180deg); | |
| 202 | + } | |
| 203 | + | |
| 204 | + .bottomLeft { | |
| 205 | + left: 0; | |
| 206 | + bottom: 0; | |
| 207 | + transform: rotateX(180deg); | |
| 208 | + } | |
| 209 | + | |
| 210 | + .bottomRight { | |
| 211 | + bottom: 0; | |
| 212 | + right: 0; | |
| 213 | + transform: rotateX(180deg) rotateY(180deg); | |
| 214 | + } | |
| 215 | +} | |
| 216 | + | |
| 217 | +.div_Style_11 { | |
| 218 | + width: 100%; | |
| 219 | + background: url("../../../../../assets/images/widget/div11.svg") no-repeat; | |
| 220 | + background-size: 100% 100%; | |
| 221 | +} | |
| 222 | + | |
| 223 | +.div_Style_12 { | |
| 224 | + background: url("../../../../../assets/images/widget/div12.svg") no-repeat; | |
| 225 | + background-size: 100% 100%; | |
| 226 | +} | |
| 78 | 227 | </style> | ... | ... |
src/views/bigscreenDesigner/designer/widget/widget.vue
| ... | ... | @@ -50,6 +50,7 @@ import widgetDecoratePieChart from "./decorate/widgetDecoratePieChart"; |
| 50 | 50 | import widgetMoreBarLineChart from "./bar/widgetMoreBarLineChart"; |
| 51 | 51 | import widgetWordCloud from "./wordcloud/widgetWordCloud"; |
| 52 | 52 | import widgetHeatmap from "./heatmap/widgetHeatmap"; |
| 53 | +import widgetDiv from "./div/widgetDiv" | |
| 53 | 54 | |
| 54 | 55 | export default { |
| 55 | 56 | name: "Widget", |
| ... | ... | @@ -81,7 +82,8 @@ export default { |
| 81 | 82 | widgetDecoratePieChart, |
| 82 | 83 | widgetMoreBarLineChart, |
| 83 | 84 | widgetWordCloud, |
| 84 | - widgetHeatmap | |
| 85 | + widgetHeatmap, | |
| 86 | + widgetDiv | |
| 85 | 87 | }, |
| 86 | 88 | model: { |
| 87 | 89 | prop: "value", | ... | ... |