Commit bbe194b0a24cc52a5ed79a6c030255480bda79fc

Authored by zhangzzzz
1 parent 64e01e5e

工具栏分类功能;装饰组件;

Showing 28 changed files with 1181 additions and 25 deletions
src/assets/images/widget/decorate1.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="200px" height="50px" style="transform: scale(9.11, 24.58);">
  4 + <rect fill="#00CED1" x="36.845238095238095" y="8.75" width="2.5" height="2.5">
  5 + </rect>
  6 + <rect fill="#00CED1" x="84.46428571428571" y="8.75" width="2.5" height="2.5">
  7 + </rect>
  8 + <rect fill="#00CED1" x="113.03571428571428" y="8.75" width="2.5" height="2.5">
  9 + <animate attributeName="fill" values="#00CED1;transparent" dur="1s" begin="0.41202722151409565" repeatCount="indefinite"></animate>
  10 + </rect>
  11 + <rect fill="#00CED1" x="132.08333333333334" y="8.75" width="2.5" height="2.5">
  12 + <animate attributeName="fill" values="#00CED1;transparent" dur="1s" begin="0.691915838830659" repeatCount="indefinite"></animate>
  13 + </rect>
  14 + <rect fill="#00CED1" x="160.6547619047619" y="8.75" width="2.5" height="2.5">
  15 + <animate attributeName="fill" values="#00CED1;transparent" dur="1s" begin="0.2880164292057623" repeatCount="indefinite"></animate>
  16 + </rect>
  17 + <rect fill="#00CED1" x="189.22619047619048" y="8.75" width="2.5" height="2.5">
  18 + </rect>
  19 + <rect fill="#00CED1" x="74.94047619047619" y="18.75" width="2.5" height="2.5">
  20 + <animate attributeName="fill" values="#00CED1;transparent" dur="1s" begin="0.39891746024340735" repeatCount="indefinite"></animate>
  21 + </rect>
  22 + <rect fill="#00CED1" x="113.03571428571428" y="18.75" width="2.5" height="2.5">
  23 + <animate attributeName="fill" values="#00CED1;transparent" dur="1s" begin="0.35078035913569083" repeatCount="indefinite"></animate>
  24 + </rect>
  25 + <rect fill="#00CED1" x="141.60714285714286" y="18.75" width="2.5" height="2.5">
  26 + </rect>
  27 + <rect fill="#00CED1" x="8.273809523809524" y="28.75" width="2.5" height="2.5">
  28 + </rect>
  29 + <rect fill="#00CED1" x="36.845238095238095" y="28.75" width="2.5" height="2.5">
  30 + </rect>
  31 + <rect fill="#00CED1" x="84.46428571428571" y="28.75" width="2.5" height="2.5">
  32 + <animate attributeName="fill" values="#00CED1;transparent" dur="1s" begin="0.3992796711422115" repeatCount="indefinite"></animate>
  33 + </rect>
  34 + <rect fill="#00CED1" x="93.98809523809524" y="28.75" width="2.5" height="2.5">
  35 + </rect>
  36 + <rect fill="#00CED1" x="113.03571428571428" y="28.75" width="2.5" height="2.5">
  37 + </rect>
  38 + <rect fill="#00CED1" x="132.08333333333334" y="28.75" width="2.5" height="2.5">
  39 + </rect>
  40 + <rect fill="#00CED1" x="141.60714285714286" y="28.75" width="2.5" height="2.5">
  41 + </rect>
  42 + <rect fill="#00CED1" x="160.6547619047619" y="28.75" width="2.5" height="2.5">
  43 + <animate attributeName="fill" values="#00CED1;transparent" dur="1s" begin="1.6727816580051433" repeatCount="indefinite"></animate>
  44 + </rect>
  45 + <rect fill="#00CED1" x="170.17857142857142" y="28.75" width="2.5" height="2.5">
  46 + </rect>
  47 + <rect fill="#00CED1" x="189.22619047619048" y="28.75" width="2.5" height="2.5">
  48 + </rect>
  49 + <rect fill="#00CED1" x="17.797619047619047" y="38.75" width="2.5" height="2.5">
  50 + </rect>
  51 + <rect fill="#00CED1" x="36.845238095238095" y="38.75" width="2.5" height="2.5">
  52 + <animate attributeName="fill" values="#00CED1;transparent" dur="1s" begin="1.683706890385123" repeatCount="indefinite"></animate>
  53 + </rect>
  54 + <rect fill="#00CED1" x="46.36904761904762" y="38.75" width="2.5" height="2.5">
  55 + </rect>
  56 + <rect fill="#00CED1" x="55.89285714285714" y="38.75" width="2.5" height="2.5">
  57 + <animate attributeName="fill" values="#00CED1;transparent" dur="1s" begin="1.006582018814096" repeatCount="indefinite"></animate>
  58 + </rect>
  59 + <rect fill="#00CED1" x="65.41666666666667" y="38.75" width="2.5" height="2.5">
  60 + </rect>
  61 + <rect fill="#00CED1" x="113.03571428571428" y="38.75" width="2.5" height="2.5">
  62 + </rect>
  63 + <rect fill="#00CED1" x="132.08333333333334" y="38.75" width="2.5" height="2.5">
  64 + </rect>
  65 + <rect fill="#00CED1" x="189.22619047619048" y="38.75" width="2.5" height="2.5">
  66 + </rect>
  67 + <rect fill="#FAD400" x="187.97619047619048" y="17.5" width="5" height="5">
  68 + <animate attributeName="width" values="0;5" dur="2s" repeatCount="indefinite"></animate>
  69 + <animate attributeName="height" values="0;5" dur="2s" repeatCount="indefinite"></animate>
  70 + <animate attributeName="x" values="190.47619047619048;187.97619047619048" dur="2s" repeatCount="indefinite"></animate>
  71 + <animate attributeName="y" values="20;17.5" dur="2s" repeatCount="indefinite"></animate>
  72 + </rect>
  73 + <rect fill="#FAD400" x="131.42857142857142" y="17.5" width="40" height="5">
  74 + <animate attributeName="width" values="0;40;0" dur="2s" repeatCount="indefinite"></animate>
  75 + <animate attributeName="x" values="171.42857142857142;131.42857142857142;171.42857142857142" dur="2s" repeatCount="indefinite"></animate>
  76 + </rect>
  77 +</svg>
0 \ No newline at end of file 78 \ No newline at end of file
src/assets/images/widget/decorate10.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="2104" height="1129">
  4 + <polyline stroke-width="2" points="0, 564.5 2104, 564.5" stroke="#FAD400"></polyline>
  5 + <polyline stroke-width="2" points="5, 564.5 417.8, 564.5" stroke-dasharray="0, 420.8" fill="freeze" stroke="#00CED1">
  6 + <animate id="d10ani23c523652ab744c6ab8afeff10246e1ec" attributeName="stroke-dasharray" values="0, 420.8;420.8, 0;" dur="3s" begin="d10ani13c523652ab744c6ab8afeff10246e1ec.end" fill="freeze"></animate>
  7 + <animate attributeName="stroke-dasharray" values="420.8, 0;0, 420.8" dur="0.01s" begin="d10ani73c523652ab744c6ab8afeff10246e1ec.end" fill="freeze"></animate>
  8 + </polyline>
  9 + <polyline stroke-width="2" points="423.8, 564.5 1680.2, 564.5" stroke-dasharray="0, 1262.3999999999999" stroke="#00CED1">
  10 + <animate id="d10ani43c523652ab744c6ab8afeff10246e1ec" attributeName="stroke-dasharray" values="0, 1262.3999999999999;1262.3999999999999, 0" dur="3s" begin="d10ani33c523652ab744c6ab8afeff10246e1ec.end + 1s" fill="freeze"></animate>
  11 + <animate attributeName="stroke-dasharray" values="1262.3999999999999, 0;0, 1262.3999999999999" dur="0.01s" begin="d10ani73c523652ab744c6ab8afeff10246e1ec.end" fill="freeze"></animate>
  12 + </polyline>
  13 + <polyline stroke-width="2" points="1686.2, 564.5 2099, 564.5" stroke-dasharray="0, 420.8" stroke="#00CED1">
  14 + <animate id="d10ani63c523652ab744c6ab8afeff10246e1ec" attributeName="stroke-dasharray" values="0, 420.8;420.8, 0" dur="3s" begin="d10ani53c523652ab744c6ab8afeff10246e1ec.end + 1s" fill="freeze"></animate>
  15 + <animate attributeName="stroke-dasharray" values="420.8, 0;0, 631.1999999999999" dur="0.01s" begin="d10ani73c523652ab744c6ab8afeff10246e1ec.end" fill="freeze"></animate>
  16 + </polyline>
  17 + <circle cx="2" cy="564.5" r="2" fill="#FAD400">
  18 + <animate id="d10ani13c523652ab744c6ab8afeff10246e1ec" attributeName="fill" values="#FAD400;#00CED1" begin="0s;d10ani73c523652ab744c6ab8afeff10246e1ec.end" dur="0.3s" fill="freeze"></animate>
  19 + </circle>
  20 + <circle cx="420.8" cy="564.5" r="2" fill="#FAD400">
  21 + <animate id="d10ani33c523652ab744c6ab8afeff10246e1ec" attributeName="fill" values="#FAD400;#00CED1" begin="d10ani23c523652ab744c6ab8afeff10246e1ec.end" dur="0.3s" fill="freeze"></animate>
  22 + <animate attributeName="fill" values="#FAD400;#FAD400" dur="0.01s" begin="d10ani73c523652ab744c6ab8afeff10246e1ec.end" fill="freeze"></animate>
  23 + </circle>
  24 + <circle cx="1683.2" cy="564.5" r="2" fill="#FAD400">
  25 + <animate id="d10ani53c523652ab744c6ab8afeff10246e1ec" attributeName="fill" values="#FAD400;#00CED1" begin="d10ani43c523652ab744c6ab8afeff10246e1ec.end" dur="0.3s" fill="freeze"></animate>
  26 + <animate attributeName="fill" values="#FAD400;#FAD400" dur="0.01s" begin="d10ani73c523652ab744c6ab8afeff10246e1ec.end" fill="freeze"></animate>
  27 + </circle>
  28 + <circle cx="2102" cy="564.5" r="2" fill="#FAD400">
  29 + <animate id="d10ani73c523652ab744c6ab8afeff10246e1ec" attributeName="fill" values="#FAD400;#00CED1" begin="d10ani63c523652ab744c6ab8afeff10246e1ec.end" dur="0.3s" fill="freeze"></animate>
  30 + <animate attributeName="fill" values="#FAD400;#FAD400" dur="0.01s" begin="d10ani73c523652ab744c6ab8afeff10246e1ec.end" fill="freeze"></animate>
  31 + </circle>
  32 +</svg>
0 \ No newline at end of file 33 \ No newline at end of file
src/assets/images/widget/decorate11.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="2104" height="1129">
  4 + <polygon fill="rgba(250,212,0,0.1)" points="20 10, 25 4, 55 4 60 10" stroke="#FAD400"></polygon>
  5 + <polygon fill="rgba(250,212,0,0.1)" points="20 1119, 25 1125, 55 1125 60 1119" stroke="#FAD400"></polygon>
  6 + <polygon fill="rgba(250,212,0,0.1)" points="2084 10, 2079 4, 2049 4 2044 10" stroke="#FAD400"></polygon>
  7 + <polygon fill="rgba(250,212,0,0.1)" points="2084 1119, 2079 1125, 2049 1125 2044 1119" stroke="#FAD400"></polygon>
  8 + <polygon fill="rgba(0,206,209,0.2)" points="
  9 + 20 10, 5 564.5 20 1119
  10 + 2084 1119 2099 564.5 2084 10
  11 + " stroke="#00CED1"></polygon>
  12 + <polyline fill="transparent" stroke="rgba(0,206,209,0.7)" points="25 18, 15 564.5 25 1111"></polyline>
  13 + <polyline fill="transparent" stroke="rgba(0,206,209,0.7)" points="2079 18, 2089 564.5 2079 1111"></polyline>
  14 +</svg>
0 \ No newline at end of file 15 \ No newline at end of file
src/assets/images/widget/decorate12.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="2297" height="1302">
  4 + <defs>
  5 + <g id="decoration-12-g-3394b47e413b415b9b29d89f4bb757e9">
  6 + <path stroke="rgba(0,206,209,1)" stroke-width="1148.5" fill="transparent" d="M1148.5,76.75 A574.25, 574.25 0 0 0 1128.45896,77.09982"></path>
  7 + <path stroke="rgba(0,206,209,0.9655172413793103)" stroke-width="1148.5" fill="transparent" d="M1128.45896,77.09982 A574.25, 574.25 0 0 0 1108.44234,78.14884"></path>
  8 + <path stroke="rgba(0,206,209,0.9310344827586207)" stroke-width="1148.5" fill="transparent" d="M1108.44234,78.14884 A574.25, 574.25 0 0 0 1088.47453,79.89580"></path>
  9 + <path stroke="rgba(0,206,209,0.896551724137931)" stroke-width="1148.5" fill="transparent" d="M1088.47453,79.89580 A574.25, 574.25 0 0 0 1068.57985,82.33856"></path>
  10 + <path stroke="rgba(0,206,209,0.8620689655172414)" stroke-width="1148.5" fill="transparent" d="M1068.57985,82.33856 A574.25, 574.25 0 0 0 1048.78253,85.47415"></path>
  11 + <path stroke="rgba(0,206,209,0.8275862068965517)" stroke-width="1148.5" fill="transparent" d="M1048.78253,85.47415 A574.25, 574.25 0 0 0 1029.10671,89.29874"></path>
  12 + <path stroke="rgba(0,206,209,0.7931034482758621)" stroke-width="1148.5" fill="transparent" d="M1029.10671,89.29874 A574.25, 574.25 0 0 0 1009.57635,93.80768"></path>
  13 + <path stroke="rgba(0,206,209,0.7586206896551724)" stroke-width="1148.5" fill="transparent" d="M1009.57635,93.80768 A574.25, 574.25 0 0 0 990.21525,98.99547"></path>
  14 + <path stroke="rgba(0,206,209,0.7241379310344829)" stroke-width="1148.5" fill="transparent" d="M990.21525,98.99547 A574.25, 574.25 0 0 0 971.04699,104.85580"></path>
  15 + <path stroke="rgba(0,206,209,0.6896551724137931)" stroke-width="1148.5" fill="transparent" d="M971.04699,104.85580 A574.25, 574.25 0 0 0 952.09493,111.38151"></path>
  16 + <path stroke="rgba(0,206,209,0.6551724137931035)" stroke-width="1148.5" fill="transparent" d="M952.09493,111.38151 A574.25, 574.25 0 0 0 933.38216,118.56467"></path>
  17 + <path stroke="rgba(0,206,209,0.6206896551724138)" stroke-width="1148.5" fill="transparent" d="M933.38216,118.56467 A574.25, 574.25 0 0 0 914.93148,126.39652"></path>
  18 + <path stroke="rgba(0,206,209,0.5862068965517241)" stroke-width="1148.5" fill="transparent" d="M914.93148,126.39652 A574.25, 574.25 0 0 0 896.76537,134.86752"></path>
  19 + <path stroke="rgba(0,206,209,0.5517241379310345)" stroke-width="1148.5" fill="transparent" d="M896.76537,134.86752 A574.25, 574.25 0 0 0 878.90596,143.96734"></path>
  20 + <path stroke="rgba(0,206,209,0.5172413793103449)" stroke-width="1148.5" fill="transparent" d="M878.90596,143.96734 A574.25, 574.25 0 0 0 861.37500,153.68491"></path>
  21 + <path stroke="rgba(0,206,209,0.48275862068965525)" stroke-width="1148.5" fill="transparent" d="M861.37500,153.68491 A574.25, 574.25 0 0 0 844.19386,164.00838"></path>
  22 + <path stroke="rgba(0,206,209,0.4482758620689655)" stroke-width="1148.5" fill="transparent" d="M844.19386,164.00838 A574.25, 574.25 0 0 0 827.38348,174.92517"></path>
  23 + <path stroke="rgba(0,206,209,0.41379310344827586)" stroke-width="1148.5" fill="transparent" d="M827.38348,174.92517 A574.25, 574.25 0 0 0 810.96432,186.42199"></path>
  24 + <path stroke="rgba(0,206,209,0.37931034482758624)" stroke-width="1148.5" fill="transparent" d="M810.96432,186.42199 A574.25, 574.25 0 0 0 794.95640,198.48482"></path>
  25 + <path stroke="rgba(0,206,209,0.34482758620689663)" stroke-width="1148.5" fill="transparent" d="M794.95640,198.48482 A574.25, 574.25 0 0 0 779.37922,211.09898"></path>
  26 + <path stroke="rgba(0,206,209,0.31034482758620696)" stroke-width="1148.5" fill="transparent" d="M779.37922,211.09898 A574.25, 574.25 0 0 0 764.25175,224.24908"></path>
  27 + <path stroke="rgba(0,206,209,0.2758620689655173)" stroke-width="1148.5" fill="transparent" d="M764.25175,224.24908 A574.25, 574.25 0 0 0 749.59243,237.91912"></path>
  28 + <path stroke="rgba(0,206,209,0.24137931034482762)" stroke-width="1148.5" fill="transparent" d="M749.59243,237.91912 A574.25, 574.25 0 0 0 735.41912,252.09243"></path>
  29 + <path stroke="rgba(0,206,209,0.20689655172413793)" stroke-width="1148.5" fill="transparent" d="M735.41912,252.09243 A574.25, 574.25 0 0 0 721.74908,266.75175"></path>
  30 + <path stroke="rgba(0,206,209,0.17241379310344826)" stroke-width="1148.5" fill="transparent" d="M721.74908,266.75175 A574.25, 574.25 0 0 0 708.59898,281.87922"></path>
  31 + <path stroke="rgba(0,206,209,0.13793103448275873)" stroke-width="1148.5" fill="transparent" d="M708.59898,281.87922 A574.25, 574.25 0 0 0 695.98482,297.45640"></path>
  32 + <path stroke="rgba(0,206,209,0.10344827586206903)" stroke-width="1148.5" fill="transparent" d="M695.98482,297.45640 A574.25, 574.25 0 0 0 683.92199,313.46432"></path>
  33 + <path stroke="rgba(0,206,209,0.06896551724137936)" stroke-width="1148.5" fill="transparent" d="M683.92199,313.46432 A574.25, 574.25 0 0 0 672.42517,329.88348"></path>
  34 + <path stroke="rgba(0,206,209,0.03448275862068968)" stroke-width="1148.5" fill="transparent" d="M672.42517,329.88348 A574.25, 574.25 0 0 0 661.50838,346.69386"></path>
  35 + <path stroke="rgba(0,206,209,0)" stroke-width="1148.5" fill="transparent" d="M661.50838,346.69386 A574.25, 574.25 0 0 0 651.18491,363.87500"></path>
  36 + </g>
  37 + <radialGradient id="decoration-12-gradient-3394b47e413b415b9b29d89f4bb757e9" cx="50%" cy="50%" r="50%">
  38 + <stop offset="0%" stop-color="transparent" stop-opacity="1"></stop>
  39 + <stop offset="100%" stop-color="rgba(250,212,0,0.3)" stop-opacity="1"></stop>
  40 + </radialGradient>
  41 + </defs>
  42 + <circle r="382.6666666666667" cx="1148.5" cy="651" stroke="#FAD400" stroke-width="0.5" fill="transparent"></circle>
  43 + <circle r="765.3333333333334" cx="1148.5" cy="651" stroke="#FAD400" stroke-width="0.5" fill="transparent"></circle>
  44 + <circle r="1148" cx="1148.5" cy="651" stroke="#FAD400" stroke-width="0.5" fill="transparent"></circle>
  45 + <circle r="1" cx="1148.5" cy="651" stroke="transparent" fill="url(#decoration-12-gradient-3394b47e413b415b9b29d89f4bb757e9)">
  46 + <animate attributeName="r" values="1;1148.5" dur="2s" repeatCount="indefinite"></animate>
  47 + <animate attributeName="opacity" values="1;0" dur="2s" repeatCount="indefinite"></animate>
  48 + </circle>
  49 + <circle r="2" cx="1148.5" cy="651" fill="#FAD400"></circle>
  50 + <g>
  51 + <polyline points="2143.1301762464277,1225.25 153.86982375357206,76.75000000000034" stroke="#FAD400" stroke-width="0.5" opacity="0.5"></polyline>
  52 + <polyline points="1722.75,1645.6301762464277 574.2499999999995,-343.6301762464276" stroke="#FAD400" stroke-width="0.5" opacity="0.5"></polyline>
  53 + <polyline points="1148.5,1799.5 1148.4999999999998,-497.5" stroke="#FAD400" stroke-width="0.5" opacity="0.5"></polyline>
  54 + <polyline points="574.2500000000002,1645.6301762464277 1722.749999999999,-343.6301762464283" stroke="#FAD400" stroke-width="0.5" opacity="0.5"></polyline>
  55 + <polyline points="153.8698237535724,1225.2500000000005 2143.1301762464273,76.74999999999955" stroke="#FAD400" stroke-width="0.5" opacity="0.5"></polyline>
  56 + <polyline points="0,651.0000000000001 2297,650.9999999999998" stroke="#FAD400" stroke-width="0.5" opacity="0.5"></polyline>
  57 + </g>
  58 + <path d="M2142.264150842643,1224.75 A1148.5, 651 0 0 1 1722.25,1644.7641508426432" stroke="#FAD400" stroke-width="2" fill="transparent"></path>
  59 + <path d="M574.7500000000002,1644.7641508426434 A1148.5, 651 0 0 1 154.73584915735682,1224.7500000000005" stroke="#FAD400" stroke-width="2" fill="transparent"></path>
  60 + <path d="M154.73584915735648,77.25000000000034 A1148.5, 651 0 0 1 574.7499999999995,-342.7641508426432" stroke="#FAD400" stroke-width="2" fill="transparent"></path>
  61 + <path d="M1722.249999999999,-342.76415084264374 A1148.5, 651 0 0 1 2142.264150842643,77.24999999999955" stroke="#FAD400" stroke-width="2" fill="transparent"></path>
  62 + <use xlink:href="#decoration-12-g-3394b47e413b415b9b29d89f4bb757e9">
  63 + <animateTransform attributeName="transform" type="rotate" values="0, 1148.5 651;360, 1148.5 651" dur="3s" repeatCount="indefinite"></animateTransform>
  64 + </use>
  65 +</svg>
0 \ No newline at end of file 66 \ No newline at end of file
src/assets/images/widget/decorate2.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="1877px" height="537px">
  4 + <rect x="0" y="268.5" width="1877" height="2" fill="#00CED1">
  5 + <animate attributeName="width" from="0" to="1877" dur="3s" calcMode="spline" keyTimes="0;1" keySplines=".42,0,.58,1" repeatCount="indefinite"></animate>
  6 + </rect>
  7 + <rect x="0" y="268.5" width="1" height="2" fill="#FAD400">
  8 + <animate attributeName="x" from="0" to="1877" dur="3s" calcMode="spline" keyTimes="0;1" keySplines="0.42,0,0.58,1" repeatCount="indefinite"></animate>
  9 + </rect>
  10 +</svg>
0 \ No newline at end of file 11 \ No newline at end of file
src/assets/images/widget/decorate3.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="300px" height="35px" style="transform: scale(4.95667, 12.6571);">
  4 + <rect fill="#00CED1" x="8.038461538461538" y="8.166666666666666" width="7" height="7">
  5 + <!---->
  6 + </rect>
  7 + <rect fill="#00CED1" x="19.576923076923077" y="8.166666666666666" width="7" height="7">
  8 + <!---->
  9 + </rect>
  10 + <rect fill="#00CED1" x="31.115384615384613" y="8.166666666666666" width="7" height="7">
  11 + <!---->
  12 + </rect>
  13 + <rect fill="#00CED1" x="42.65384615384615" y="8.166666666666666" width="7" height="7">
  14 + <!---->
  15 + </rect>
  16 + <rect fill="#00CED1" x="54.19230769230769" y="8.166666666666666" width="7" height="7">
  17 + <animate attributeName="fill" values="#00CED1;#FAD400" dur="1.8412841766923513s" begin="0.5176353550935606" repeatCount="indefinite"></animate>
  18 + </rect>
  19 + <rect fill="#00CED1" x="65.73076923076923" y="8.166666666666666" width="7" height="7">
  20 + <animate attributeName="fill" values="#00CED1;#FAD400" dur="1.6927204138415908s" begin="0.7393420019617922" repeatCount="indefinite"></animate>
  21 + </rect>
  22 + <rect fill="#00CED1" x="77.26923076923077" y="8.166666666666666" width="7" height="7">
  23 + <!---->
  24 + </rect>
  25 + <rect fill="#00CED1" x="88.8076923076923" y="8.166666666666666" width="7" height="7">
  26 + <animate attributeName="fill" values="#00CED1;#FAD400" dur="1.8801016132688009s" begin="1.9827949800271267" repeatCount="indefinite"></animate>
  27 + </rect>
  28 + <rect fill="#00CED1" x="100.34615384615384" y="8.166666666666666" width="7" height="7">
  29 + <animate attributeName="fill" values="#00CED1;#FAD400" dur="1.4748339843750133s" begin="1.7307829937924968" repeatCount="indefinite"></animate>
  30 + </rect>
  31 + <rect fill="#00CED1" x="111.88461538461539" y="8.166666666666666" width="7" height="7">
  32 + <!---->
  33 + </rect>
  34 + <rect fill="#00CED1" x="123.42307692307692" y="8.166666666666666" width="7" height="7">
  35 + <!---->
  36 + </rect>
  37 + <rect fill="#00CED1" x="134.96153846153845" y="8.166666666666666" width="7" height="7">
  38 + <!---->
  39 + </rect>
  40 + <rect fill="#00CED1" x="146.5" y="8.166666666666666" width="7" height="7">
  41 + <!---->
  42 + </rect>
  43 + <rect fill="#00CED1" x="158.03846153846155" y="8.166666666666666" width="7" height="7">
  44 + <!---->
  45 + </rect>
  46 + <rect fill="#00CED1" x="169.57692307692307" y="8.166666666666666" width="7" height="7">
  47 + <!---->
  48 + </rect>
  49 + <rect fill="#00CED1" x="181.1153846153846" y="8.166666666666666" width="7" height="7">
  50 + <animate attributeName="fill" values="#00CED1;#FAD400" dur="1.9349783319032743s" begin="1.2101534989114424" repeatCount="indefinite"></animate>
  51 + </rect>
  52 + <rect fill="#00CED1" x="192.65384615384616" y="8.166666666666666" width="7" height="7">
  53 + <animate attributeName="fill" values="#00CED1;#FAD400" dur="1.9799917657896928s" begin="0.22932654948701225" repeatCount="indefinite"></animate>
  54 + </rect>
  55 + <rect fill="#00CED1" x="204.19230769230768" y="8.166666666666666" width="7" height="7">
  56 + <animate attributeName="fill" values="#00CED1;#FAD400" dur="1.9405039586884445s" begin="1.009966034638008" repeatCount="indefinite"></animate>
  57 + </rect>
  58 + <rect fill="#00CED1" x="215.73076923076923" y="8.166666666666666" width="7" height="7">
  59 + <!---->
  60 + </rect>
  61 + <rect fill="#00CED1" x="227.26923076923077" y="8.166666666666666" width="7" height="7">
  62 + <animate attributeName="fill" values="#00CED1;#FAD400" dur="1.164239580741545s" begin="0.4225201577520772" repeatCount="indefinite"></animate>
  63 + </rect>
  64 + <rect fill="#00CED1" x="238.8076923076923" y="8.166666666666666" width="7" height="7">
  65 + <!---->
  66 + </rect>
  67 + <rect fill="#00CED1" x="250.34615384615384" y="8.166666666666666" width="7" height="7">
  68 + <!---->
  69 + </rect>
  70 + <rect fill="#00CED1" x="261.88461538461536" y="8.166666666666666" width="7" height="7">
  71 + <!---->
  72 + </rect>
  73 + <rect fill="#00CED1" x="273.4230769230769" y="8.166666666666666" width="7" height="7">
  74 + <!---->
  75 + </rect>
  76 + <rect fill="#00CED1" x="284.96153846153845" y="8.166666666666666" width="7" height="7">
  77 + <!---->
  78 + </rect>
  79 + <rect fill="#00CED1" x="8.038461538461538" y="19.833333333333332" width="7" height="7">
  80 + <animate attributeName="fill" values="#00CED1;#FAD400" dur="1.4835336005023403s" begin="0.6548669246433421" repeatCount="indefinite"></animate>
  81 + </rect>
  82 + <rect fill="#00CED1" x="19.576923076923077" y="19.833333333333332" width="7" height="7">
  83 + <animate attributeName="fill" values="#00CED1;#FAD400" dur="1.714200625595007s" begin="1.5399438162183285" repeatCount="indefinite"></animate>
  84 + </rect>
  85 + <rect fill="#00CED1" x="31.115384615384613" y="19.833333333333332" width="7" height="7">
  86 + <!---->
  87 + </rect>
  88 + <rect fill="#00CED1" x="42.65384615384615" y="19.833333333333332" width="7" height="7">
  89 + <animate attributeName="fill" values="#00CED1;#FAD400" dur="1.1921417475606229s" begin="0.4034075352192983" repeatCount="indefinite"></animate>
  90 + </rect>
  91 + <rect fill="#00CED1" x="54.19230769230769" y="19.833333333333332" width="7" height="7">
  92 + <!---->
  93 + </rect>
  94 + <rect fill="#00CED1" x="65.73076923076923" y="19.833333333333332" width="7" height="7">
  95 + <!---->
  96 + </rect>
  97 + <rect fill="#00CED1" x="77.26923076923077" y="19.833333333333332" width="7" height="7">
  98 + <animate attributeName="fill" values="#00CED1;#FAD400" dur="1.3395991935002942s" begin="1.7658684683666475" repeatCount="indefinite"></animate>
  99 + </rect>
  100 + <rect fill="#00CED1" x="88.8076923076923" y="19.833333333333332" width="7" height="7">
  101 + <animate attributeName="fill" values="#00CED1;#FAD400" dur="1.4409707095120556s" begin="0.40435784511961703" repeatCount="indefinite"></animate>
  102 + </rect>
  103 + <rect fill="#00CED1" x="100.34615384615384" y="19.833333333333332" width="7" height="7">
  104 + <!---->
  105 + </rect>
  106 + <rect fill="#00CED1" x="111.88461538461539" y="19.833333333333332" width="7" height="7">
  107 + <!---->
  108 + </rect>
  109 + <rect fill="#00CED1" x="123.42307692307692" y="19.833333333333332" width="7" height="7">
  110 + <!---->
  111 + </rect>
  112 + <rect fill="#00CED1" x="134.96153846153845" y="19.833333333333332" width="7" height="7">
  113 + <!---->
  114 + </rect>
  115 + <rect fill="#00CED1" x="146.5" y="19.833333333333332" width="7" height="7">
  116 + <!---->
  117 + </rect>
  118 + <rect fill="#00CED1" x="158.03846153846155" y="19.833333333333332" width="7" height="7">
  119 + <!---->
  120 + </rect>
  121 + <rect fill="#00CED1" x="169.57692307692307" y="19.833333333333332" width="7" height="7">
  122 + <!---->
  123 + </rect>
  124 + <rect fill="#00CED1" x="181.1153846153846" y="19.833333333333332" width="7" height="7">
  125 + <!---->
  126 + </rect>
  127 + <rect fill="#00CED1" x="192.65384615384616" y="19.833333333333332" width="7" height="7">
  128 + <animate attributeName="fill" values="#00CED1;#FAD400" dur="1.7454717685713368s" begin="0.4742332518067256" repeatCount="indefinite"></animate>
  129 + </rect>
  130 + <rect fill="#00CED1" x="204.19230769230768" y="19.833333333333332" width="7" height="7">
  131 + <animate attributeName="fill" values="#00CED1;#FAD400" dur="1.3671084393277293s" begin="1.0375987161980946" repeatCount="indefinite"></animate>
  132 + </rect>
  133 + <rect fill="#00CED1" x="215.73076923076923" y="19.833333333333332" width="7" height="7">
  134 + <!---->
  135 + </rect>
  136 + <rect fill="#00CED1" x="227.26923076923077" y="19.833333333333332" width="7" height="7">
  137 + <animate attributeName="fill" values="#00CED1;#FAD400" dur="1.444470242907152s" begin="1.036913711848415" repeatCount="indefinite"></animate>
  138 + </rect>
  139 + <rect fill="#00CED1" x="238.8076923076923" y="19.833333333333332" width="7" height="7">
  140 + <animate attributeName="fill" values="#00CED1;#FAD400" dur="1.7494598105696535s" begin="1.1200880072376669" repeatCount="indefinite"></animate>
  141 + </rect>
  142 + <rect fill="#00CED1" x="250.34615384615384" y="19.833333333333332" width="7" height="7">
  143 + <!---->
  144 + </rect>
  145 + <rect fill="#00CED1" x="261.88461538461536" y="19.833333333333332" width="7" height="7">
  146 + <animate attributeName="fill" values="#00CED1;#FAD400" dur="1.5104561335422264s" begin="1.5325133106543087" repeatCount="indefinite"></animate>
  147 + </rect>
  148 + <rect fill="#00CED1" x="273.4230769230769" y="19.833333333333332" width="7" height="7">
  149 + <!---->
  150 + </rect>
  151 + <rect fill="#00CED1" x="284.96153846153845" y="19.833333333333332" width="7" height="7">
  152 + <!---->
  153 + </rect>
  154 +</svg>
0 \ No newline at end of file 155 \ No newline at end of file
src/assets/images/widget/decorate4.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="5" height="1528">
  4 + <polyline points="2.5, 0 2.5, 1528" stroke="#00CED1"></polyline>
  5 + <polyline stroke-width="3" stroke-dasharray="20, 80" stroke-dashoffset="-30" points="2.5, 0 2.5, 1528" class="bold-line" stroke="#FAD400"></polyline>
  6 +</svg>
0 \ No newline at end of file 7 \ No newline at end of file
src/assets/images/widget/decorate5.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="1393" height="1186">
  4 + <polyline fill="transparent" stroke-width="3" points="0,237.20000000000002 250.73999999999998,237.20000000000002 278.6,474.40000000000003 348.25,474.40000000000003 376.11,711.6 1002.9599999999999,711.6 1044.75,474.40000000000003 1114.4,474.40000000000003 1142.26,237.20000000000002 1393,237.20000000000002" stroke="#00CED1">
  5 + <animate attributeName="stroke-dasharray" attributeType="XML" from="0, 1112.4873666705153, 0, 1112.4873666705153" to="0, 0, 2224.9747333410305, 0" dur="3s" begin="0s" calcMode="spline" keyTimes="0;1" keySplines="0.4,1,0.49,0.98" repeatCount="indefinite"></animate>
  6 + </polyline>
  7 + <polyline fill="transparent" stroke-width="2" points="417.9,948.8000000000001 975.0999999999999,948.8000000000001" stroke="#FAD400">
  8 + <animate attributeName="stroke-dasharray" attributeType="XML" from="0, 278.59999999999997, 0, 278.59999999999997" to="0, 0, 557.1999999999999, 0" dur="3s" begin="0s" calcMode="spline" keyTimes="0;1" keySplines=".4,1,.49,.98" repeatCount="indefinite"></animate>
  9 + </polyline>
  10 +</svg>
0 \ No newline at end of file 11 \ No newline at end of file
src/assets/images/widget/decorate6.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="300px" height="35px" style="transform: scale(4.64333, 33.8857);">
  4 + <rect fill="#FAD400" x="3.8170731707317076" y="8.5" width="7" height="18">
  5 + <animate attributeName="y" values="12.489649024107809;8.5;12.489649024107809" dur="1.7371767380377356s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  6 + <animate attributeName="height" values="10.020701951784382;18;10.020701951784382" dur="1.7371767380377356s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  7 + </rect>
  8 + <rect fill="#FAD400" x="11.134146341463415" y="11" width="7" height="13">
  9 + <animate attributeName="y" values="14.50479462111376;11;14.50479462111376" dur="2.150646602851556s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  10 + <animate attributeName="height" values="5.990410757772478;13;5.990410757772478" dur="2.150646602851556s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  11 + </rect>
  12 + <rect fill="#00CED1" x="18.451219512195124" y="3.5" width="7" height="28">
  13 + <animate attributeName="y" values="4.1432322457607285;3.5;4.1432322457607285" dur="1.9674580011274339s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  14 + <animate attributeName="height" values="26.713535508478543;28;26.713535508478543" dur="1.9674580011274339s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  15 + </rect>
  16 + <rect fill="#FAD400" x="25.76829268292683" y="9.5" width="7" height="16">
  17 + <animate attributeName="y" values="12.1291063648255;9.5;12.1291063648255" dur="2.0866524302543032s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  18 + <animate attributeName="height" values="10.741787270349;16;10.741787270349" dur="2.0866524302543032s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  19 + </rect>
  20 + <rect fill="#00CED1" x="33.08536585365854" y="11.5" width="7" height="12">
  21 + <animate attributeName="y" values="14.868723497776367;11.5;14.868723497776367" dur="1.9540075415235314s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  22 + <animate attributeName="height" values="5.262553004447265;12;5.262553004447265" dur="1.9540075415235314s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  23 + </rect>
  24 + <rect fill="#00CED1" x="40.40243902439025" y="9" width="7" height="17">
  25 + <animate attributeName="y" values="11.312293082979414;9;11.312293082979414" dur="1.6490684469429517s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  26 + <animate attributeName="height" values="12.375413834041172;17;12.375413834041172" dur="1.6490684469429517s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  27 + </rect>
  28 + <rect fill="#00CED1" x="47.71951219512195" y="12" width="7" height="11">
  29 + <animate attributeName="y" values="12.479724077328662;12;12.479724077328662" dur="2.3849621641498366s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  30 + <animate attributeName="height" values="10.040551845342675;11;10.040551845342675" dur="2.3849621641498366s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  31 + </rect>
  32 + <rect fill="#00CED1" x="55.03658536585366" y="13" width="7" height="9">
  33 + <animate attributeName="y" values="13.768706335369108;13;13.768706335369108" dur="1.5480273705586503s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  34 + <animate attributeName="height" values="7.462587329261783;9;7.462587329261783" dur="1.5480273705586503s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  35 + </rect>
  36 + <rect fill="#FAD400" x="62.35365853658537" y="9" width="7" height="17">
  37 + <animate attributeName="y" values="17.474330361968345;9;17.474330361968345" dur="1.7748736928207105s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  38 + <animate attributeName="height" values="0.051339276063309125;17;0.051339276063309125" dur="1.7748736928207105s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  39 + </rect>
  40 + <rect fill="#00CED1" x="69.67073170731707" y="11.5" width="7" height="12">
  41 + <animate attributeName="y" values="14.43678545709783;11.5;14.43678545709783" dur="2.3115516332116415s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  42 + <animate attributeName="height" values="6.12642908580434;12;6.12642908580434" dur="2.3115516332116415s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  43 + </rect>
  44 + <rect fill="#00CED1" x="76.98780487804878" y="4" width="7" height="27">
  45 + <animate attributeName="y" values="11.36495870595566;4;11.36495870595566" dur="2.092521323911517s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  46 + <animate attributeName="height" values="12.27008258808868;27;12.27008258808868" dur="2.092521323911517s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  47 + </rect>
  48 + <rect fill="#00CED1" x="84.3048780487805" y="9" width="7" height="17">
  49 + <animate attributeName="y" values="13.80484663215403;9;13.80484663215403" dur="2.3782686855278734s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  50 + <animate attributeName="height" values="7.390306735691941;17;7.390306735691941" dur="2.3782686855278734s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  51 + </rect>
  52 + <rect fill="#00CED1" x="91.6219512195122" y="13" width="7" height="9">
  53 + <animate attributeName="y" values="15.791598362015636;13;15.791598362015636" dur="1.687549743557982s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  54 + <animate attributeName="height" values="3.4168032759687286;9;3.4168032759687286" dur="1.687549743557982s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  55 + </rect>
  56 + <rect fill="#FAD400" x="98.9390243902439" y="8.5" width="7" height="18">
  57 + <animate attributeName="y" values="16.957938428218284;8.5;16.957938428218284" dur="1.6108455419112175s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  58 + <animate attributeName="height" values="1.0841231435634295;18;1.0841231435634295" dur="1.6108455419112175s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  59 + </rect>
  60 + <rect fill="#00CED1" x="106.25609756097562" y="13" width="7" height="9">
  61 + <animate attributeName="y" values="13.301033167945585;13;13.301033167945585" dur="1.7758292458014888s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  62 + <animate attributeName="height" values="8.39793366410883;9;8.39793366410883" dur="1.7758292458014888s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  63 + </rect>
  64 + <rect fill="#FAD400" x="113.57317073170732" y="8.5" width="7" height="18">
  65 + <animate attributeName="y" values="13.981288826687901;8.5;13.981288826687901" dur="1.7143195178967472s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  66 + <animate attributeName="height" values="7.037422346624199;18;7.037422346624199" dur="1.7143195178967472s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  67 + </rect>
  68 + <rect fill="#FAD400" x="120.89024390243902" y="11" width="7" height="13">
  69 + <animate attributeName="y" values="15.539731254830206;11;15.539731254830206" dur="2.222740386271892s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  70 + <animate attributeName="height" values="3.920537490339588;13;3.920537490339588" dur="2.222740386271892s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  71 + </rect>
  72 + <rect fill="#FAD400" x="128.20731707317074" y="11.5" width="7" height="12">
  73 + <animate attributeName="y" values="13.56922944287059;11.5;13.56922944287059" dur="1.755756116765689s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  74 + <animate attributeName="height" values="7.861541114258821;12;7.861541114258821" dur="1.755756116765689s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  75 + </rect>
  76 + <rect fill="#FAD400" x="135.52439024390245" y="2.5" width="7" height="30">
  77 + <animate attributeName="y" values="12.480532383845375;2.5;12.480532383845375" dur="1.7356425245231268s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  78 + <animate attributeName="height" values="10.03893523230925;30;10.03893523230925" dur="1.7356425245231268s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  79 + </rect>
  80 + <rect fill="#00CED1" x="142.84146341463415" y="9.5" width="7" height="16">
  81 + <animate attributeName="y" values="11.931634663889215;9.5;11.931634663889215" dur="2.1111733770809398s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  82 + <animate attributeName="height" values="11.13673067222157;16;11.13673067222157" dur="2.1111733770809398s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  83 + </rect>
  84 + <rect fill="#00CED1" x="150.15853658536585" y="13.5" width="7" height="8">
  85 + <animate attributeName="y" values="15.764476998644938;13.5;15.764476998644938" dur="2.0285780613603364s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  86 + <animate attributeName="height" values="3.4710460027101266;8;3.4710460027101266" dur="2.0285780613603364s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  87 + </rect>
  88 + <rect fill="#FAD400" x="157.47560975609755" y="10" width="7" height="15">
  89 + <animate attributeName="y" values="12.760453980094127;10;12.760453980094127" dur="1.615174296474167s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  90 + <animate attributeName="height" values="9.479092039811746;15;9.479092039811746" dur="1.615174296474167s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  91 + </rect>
  92 + <rect fill="#FAD400" x="164.7926829268293" y="10.5" width="7" height="14">
  93 + <animate attributeName="y" values="16.15143525756067;10.5;16.15143525756067" dur="1.847960682235302s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  94 + <animate attributeName="height" values="2.697129484878661;14;2.697129484878661" dur="1.847960682235302s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  95 + </rect>
  96 + <rect fill="#FAD400" x="172.109756097561" y="3.5" width="7" height="28">
  97 + <animate attributeName="y" values="16.374606225562758;3.5;16.374606225562758" dur="2.218334072988883s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  98 + <animate attributeName="height" values="2.2507875488744835;28;2.2507875488744835" dur="2.218334072988883s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  99 + </rect>
  100 + <rect fill="#FAD400" x="179.4268292682927" y="2.5" width="7" height="30">
  101 + <animate attributeName="y" values="7.243326529019107;2.5;7.243326529019107" dur="1.5237630498057575s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  102 + <animate attributeName="height" values="20.513346941961785;30;20.513346941961785" dur="1.5237630498057575s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  103 + </rect>
  104 + <rect fill="#00CED1" x="186.7439024390244" y="3.5" width="7" height="28">
  105 + <animate attributeName="y" values="5.374900390122772;3.5;5.374900390122772" dur="1.6858478329996411s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  106 + <animate attributeName="height" values="24.250199219754457;28;24.250199219754457" dur="1.6858478329996411s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  107 + </rect>
  108 + <rect fill="#00CED1" x="194.0609756097561" y="10.5" width="7" height="14">
  109 + <animate attributeName="y" values="14.067423890151598;10.5;14.067423890151598" dur="2.06740399858901s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  110 + <animate attributeName="height" values="6.865152219696805;14;6.865152219696805" dur="2.06740399858901s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  111 + </rect>
  112 + <rect fill="#FAD400" x="201.3780487804878" y="9" width="7" height="17">
  113 + <animate attributeName="y" values="13.704867185641083;9;13.704867185641083" dur="1.8182256145623714s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  114 + <animate attributeName="height" values="7.590265628717834;17;7.590265628717834" dur="1.8182256145623714s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  115 + </rect>
  116 + <rect fill="#00CED1" x="208.69512195121953" y="12" width="7" height="11">
  117 + <animate attributeName="y" values="12.113047388337371;12;12.113047388337371" dur="2.344605576272745s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  118 + <animate attributeName="height" values="10.77390522332526;11;10.77390522332526" dur="2.344605576272745s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  119 + </rect>
  120 + <rect fill="#00CED1" x="216.01219512195124" y="12.5" width="7" height="10">
  121 + <animate attributeName="y" values="14.74895774348461;12.5;14.74895774348461" dur="2.4357703210585675s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  122 + <animate attributeName="height" values="5.5020845130307805;10;5.5020845130307805" dur="2.4357703210585675s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  123 + </rect>
  124 + <rect fill="#FAD400" x="223.32926829268294" y="10.5" width="7" height="14">
  125 + <animate attributeName="y" values="11.337429388165837;10.5;11.337429388165837" dur="2.257280226061432s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  126 + <animate attributeName="height" values="12.325141223668323;14;12.325141223668323" dur="2.257280226061432s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  127 + </rect>
  128 + <rect fill="#FAD400" x="230.64634146341464" y="11.5" width="7" height="12">
  129 + <animate attributeName="y" values="17.15271016024779;11.5;17.15271016024779" dur="1.8250958311452106s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  130 + <animate attributeName="height" values="0.6945796795044226;12;0.6945796795044226" dur="1.8250958311452106s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  131 + </rect>
  132 + <rect fill="#00CED1" x="237.96341463414635" y="12" width="7" height="11">
  133 + <animate attributeName="y" values="15.72528772804125;12;15.72528772804125" dur="1.5302615861202706s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  134 + <animate attributeName="height" values="3.549424543917499;11;3.549424543917499" dur="1.5302615861202706s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  135 + </rect>
  136 + <rect fill="#00CED1" x="245.28048780487805" y="12.5" width="7" height="10">
  137 + <animate attributeName="y" values="16.45622586544628;12.5;16.45622586544628" dur="2.079210847967716s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  138 + <animate attributeName="height" values="2.08754826910744;10;2.08754826910744" dur="2.079210847967716s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  139 + </rect>
  140 + <rect fill="#FAD400" x="252.59756097560978" y="4.5" width="7" height="26">
  141 + <animate attributeName="y" values="17.142736086839708;4.5;17.142736086839708" dur="1.8416285237993788s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  142 + <animate attributeName="height" values="0.7145278263205812;26;0.7145278263205812" dur="1.8416285237993788s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  143 + </rect>
  144 + <rect fill="#00CED1" x="259.9146341463415" y="13" width="7" height="9">
  145 + <animate attributeName="y" values="15.842519593006104;13;15.842519593006104" dur="2.120600624905032s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  146 + <animate attributeName="height" values="3.3149608139877915;9;3.3149608139877915" dur="2.120600624905032s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  147 + </rect>
  148 + <rect fill="#00CED1" x="267.2317073170732" y="14" width="7" height="7">
  149 + <animate attributeName="y" values="15.202955627634406;14;15.202955627634406" dur="1.7393307634337856s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  150 + <animate attributeName="height" values="4.594088744731188;7;4.594088744731188" dur="1.7393307634337856s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  151 + </rect>
  152 + <rect fill="#00CED1" x="274.5487804878049" y="10.5" width="7" height="14">
  153 + <animate attributeName="y" values="13.708926508916964;10.5;13.708926508916964" dur="1.5275449327129411s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  154 + <animate attributeName="height" values="7.582146982166073;14;7.582146982166073" dur="1.5275449327129411s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  155 + </rect>
  156 + <rect fill="#FAD400" x="281.8658536585366" y="10.5" width="7" height="14">
  157 + <animate attributeName="y" values="15.63209643196394;10.5;15.63209643196394" dur="1.801221664684202s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  158 + <animate attributeName="height" values="3.7358071360721166;14;3.7358071360721166" dur="1.801221664684202s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  159 + </rect>
  160 + <rect fill="#00CED1" x="289.1829268292683" y="11.5" width="7" height="12">
  161 + <animate attributeName="y" values="12.474927833621306;11.5;12.474927833621306" dur="1.5270936847633303s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  162 + <animate attributeName="height" values="10.050144332757387;12;10.050144332757387" dur="1.5270936847633303s" keyTimes="0;0.5;1" calcMode="spline" keySplines="0.42,0,0.58,1;0.42,0,0.58,1" begin="0s" repeatCount="indefinite"></animate>
  163 + </rect>
  164 +</svg>
0 \ No newline at end of file 165 \ No newline at end of file
src/assets/images/widget/decorate7_1.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="21px" height="20px">
  4 + <polyline stroke-width="4" fill="transparent" points="10, 0 19, 10 10, 20" stroke="#00CED1"></polyline>
  5 + <polyline stroke-width="2" fill="transparent" points="2, 0 11, 10 2, 20" stroke="#FAD400"></polyline>
  6 +</svg>
0 \ No newline at end of file 7 \ No newline at end of file
src/assets/images/widget/decorate7_2.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="21px" height="20px">
  4 + <polyline stroke-width="4" fill="transparent" points="11, 0 2, 10 11, 20" stroke="#00CED1"></polyline>
  5 + <polyline stroke-width="2" fill="transparent" points="19, 0 10, 10 19, 20" stroke="#FAD400"></polyline>
  6 +</svg>
0 \ No newline at end of file 7 \ No newline at end of file
src/assets/images/widget/decorate8.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="2104" height="1129">
  4 + <polyline stroke-width="2" fill="transparent" points="0, 0 30, 564.5" stroke="#00CED1"></polyline>
  5 + <polyline stroke-width="2" fill="transparent" points="20, 0 50, 564.5 2104, 564.5" stroke="#00CED1"></polyline>
  6 + <polyline fill="transparent" stroke-width="3" points="0, 1126, 200, 1126" stroke="#FAD400"></polyline>
  7 +</svg>
0 \ No newline at end of file 8 \ No newline at end of file
src/assets/images/widget/decorate9.svg 0 → 100644
  1 +<svg version="1.1"
  2 + xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100px" height="100px" style="transform: scale(21.04, 11.29);">
  3 + <defs>
  4 + <polygon id="decoration-9-polygon-26e8b308d360462fa403612bbd197d19" points="15, 46.5, 21, 47.5, 21, 52.5, 15, 53.5"></polygon>
  5 + </defs>
  6 + <circle cx="50" cy="50" r="45" fill="transparent" stroke-width="10" stroke-dasharray="80, 100, 30, 100" stroke="#FAD400">
  7 + <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="3s" repeatCount="indefinite"></animateTransform>
  8 + </circle>
  9 + <circle cx="50" cy="50" r="45" fill="transparent" stroke-width="6" stroke-dasharray="50, 66, 100, 66" stroke="#00CED1">
  10 + <animateTransform attributeName="transform" type="rotate" values="0 50 50;-360 50 50" dur="3s" repeatCount="indefinite"></animateTransform>
  11 + </circle>
  12 + <circle cx="50" cy="50" r="38" fill="transparent" stroke="rgba(250,212,0,0.3)" stroke-width="1" stroke-dasharray="5, 1"></circle>
  13 + <use xlink:href="#decoration-9-polygon-26e8b308d360462fa403612bbd197d19" stroke="#FAD400" fill="#00CED1">
  14 + <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="3s" begin="0s" repeatCount="indefinite"></animateTransform>
  15 + </use>
  16 + <use xlink:href="#decoration-9-polygon-26e8b308d360462fa403612bbd197d19" fill="#00CED1" stroke="#FAD400">
  17 + <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="3s" begin="0.15s" repeatCount="indefinite"></animateTransform>
  18 + </use>
  19 + <use xlink:href="#decoration-9-polygon-26e8b308d360462fa403612bbd197d19" fill="transparent" stroke="#FAD400">
  20 + <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="3s" begin="0.3s" repeatCount="indefinite"></animateTransform>
  21 + </use>
  22 + <use xlink:href="#decoration-9-polygon-26e8b308d360462fa403612bbd197d19" stroke="#FAD400" fill="#00CED1">
  23 + <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="3s" begin="0.45s" repeatCount="indefinite"></animateTransform>
  24 + </use>
  25 + <use xlink:href="#decoration-9-polygon-26e8b308d360462fa403612bbd197d19" fill="transparent" stroke="#FAD400">
  26 + <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="3s" begin="0.6s" repeatCount="indefinite"></animateTransform>
  27 + </use>
  28 + <use xlink:href="#decoration-9-polygon-26e8b308d360462fa403612bbd197d19" fill="#00CED1" stroke="#FAD400">
  29 + <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="3s" begin="0.75s" repeatCount="indefinite"></animateTransform>
  30 + </use>
  31 + <use xlink:href="#decoration-9-polygon-26e8b308d360462fa403612bbd197d19" stroke="#FAD400" fill="#00CED1">
  32 + <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="3s" begin="0.9s" repeatCount="indefinite"></animateTransform>
  33 + </use>
  34 + <use xlink:href="#decoration-9-polygon-26e8b308d360462fa403612bbd197d19" fill="#00CED1" stroke="#FAD400">
  35 + <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="3s" begin="1.05s" repeatCount="indefinite"></animateTransform>
  36 + </use>
  37 + <use xlink:href="#decoration-9-polygon-26e8b308d360462fa403612bbd197d19" fill="transparent" stroke="#FAD400">
  38 + <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="3s" begin="1.2s" repeatCount="indefinite"></animateTransform>
  39 + </use>
  40 + <use xlink:href="#decoration-9-polygon-26e8b308d360462fa403612bbd197d19" stroke="#FAD400" fill="#00CED1">
  41 + <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="3s" begin="1.35s" repeatCount="indefinite"></animateTransform>
  42 + </use>
  43 + <use xlink:href="#decoration-9-polygon-26e8b308d360462fa403612bbd197d19" stroke="#FAD400" fill="transparent">
  44 + <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="3s" begin="1.5s" repeatCount="indefinite"></animateTransform>
  45 + </use>
  46 + <use xlink:href="#decoration-9-polygon-26e8b308d360462fa403612bbd197d19" stroke="#FAD400" fill="#00CED1">
  47 + <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="3s" begin="1.65s" repeatCount="indefinite"></animateTransform>
  48 + </use>
  49 + <use xlink:href="#decoration-9-polygon-26e8b308d360462fa403612bbd197d19" stroke="#FAD400" fill="#00CED1">
  50 + <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="3s" begin="1.8s" repeatCount="indefinite"></animateTransform>
  51 + </use>
  52 + <use xlink:href="#decoration-9-polygon-26e8b308d360462fa403612bbd197d19" fill="transparent" stroke="#FAD400">
  53 + <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="3s" begin="1.95s" repeatCount="indefinite"></animateTransform>
  54 + </use>
  55 + <use xlink:href="#decoration-9-polygon-26e8b308d360462fa403612bbd197d19" stroke="#FAD400" fill="#00CED1">
  56 + <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="3s" begin="2.1s" repeatCount="indefinite"></animateTransform>
  57 + </use>
  58 + <use xlink:href="#decoration-9-polygon-26e8b308d360462fa403612bbd197d19" stroke="#FAD400" fill="#00CED1">
  59 + <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="3s" begin="2.25s" repeatCount="indefinite"></animateTransform>
  60 + </use>
  61 + <use xlink:href="#decoration-9-polygon-26e8b308d360462fa403612bbd197d19" stroke="#FAD400" fill="transparent">
  62 + <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="3s" begin="2.4s" repeatCount="indefinite"></animateTransform>
  63 + </use>
  64 + <use xlink:href="#decoration-9-polygon-26e8b308d360462fa403612bbd197d19" stroke="#FAD400" fill="#00CED1">
  65 + <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="3s" begin="2.55s" repeatCount="indefinite"></animateTransform>
  66 + </use>
  67 + <use xlink:href="#decoration-9-polygon-26e8b308d360462fa403612bbd197d19" stroke="#FAD400" fill="transparent">
  68 + <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="3s" begin="2.7s" repeatCount="indefinite"></animateTransform>
  69 + </use>
  70 + <use xlink:href="#decoration-9-polygon-26e8b308d360462fa403612bbd197d19" stroke="#FAD400" fill="#00CED1">
  71 + <animateTransform attributeName="transform" type="rotate" values="0 50 50;360 50 50" dur="3s" begin="2.85s" repeatCount="indefinite"></animateTransform>
  72 + </use>
  73 + <circle cx="50" cy="50" r="26" fill="transparent" stroke="rgba(250,212,0,0.3)" stroke-width="1" stroke-dasharray="5, 1"></circle>
  74 +</svg>
0 \ No newline at end of file 75 \ No newline at end of file
src/views/bigscreenDesigner/designer/components/customUploadNew.vue 0 → 100644
  1 +<template>
  2 + <div>
  3 + <el-input clearable v-model.trim="uploadImgUrl" size="mini" @change="changeInput">
  4 + <template slot="append">
  5 + <i class="iconfont iconfolder-o" @click="dialogVisible = true"></i>
  6 + <!-- <input type="file" class="file" ref="files" @change="getImages" /> -->
  7 + </template>
  8 + </el-input>
  9 +
  10 +
  11 + <!-- 弹窗 -->
  12 + <el-dialog title="图库" :visible.sync="dialogVisible">
  13 + <el-upload class="upload-demo" :on-change="changeInput">
  14 + <el-button size="medium" type="info" icon="el-icon-upload2">点击上传</el-button>
  15 + </el-upload>
  16 + <div class="image-list">
  17 + <el-image class="image" v-for="url in urls" :key="url" :src="url" lazy></el-image>
  18 + </div>
  19 + </el-dialog>
  20 +
  21 +
  22 +
  23 +
  24 + </div>
  25 +</template>
  26 +<script>
  27 +import axios from "axios";
  28 +import { getToken } from "@/utils/auth";
  29 +export default {
  30 + name: 'custom-upload-new',
  31 + model: {
  32 + prop: "value",
  33 + event: "input"
  34 + },
  35 + props: {
  36 + value: {
  37 + type: "",
  38 + default: ""
  39 + }
  40 + },
  41 + data() {
  42 + return {
  43 + dialogVisible: false, // 弹窗状态
  44 + urls: [
  45 + 'https://fuss10.elemecdn.com/0/6f/e35ff375812e6b0020b6b4e8f9583jpeg.jpeg',
  46 + 'https://fuss10.elemecdn.com/9/bb/e27858e973f5d7d3904835f46abbdjpeg.jpeg',
  47 + 'https://fuss10.elemecdn.com/d/e6/c4d93a3805b3ce3f323f7974e6f78jpeg.jpeg',
  48 + 'https://fuss10.elemecdn.com/3/28/bbf893f792f03a54408b3b7a7ebf0jpeg.jpeg',
  49 + 'https://fuss10.elemecdn.com/2/11/6535bcfb26e4c79b48ddde44f4b6fjpeg.jpeg',
  50 + 'https://fuss10.elemecdn.com/9/bb/e27858e973f5d7d3904835f46abbdjpeg.jpeg',
  51 + 'https://fuss10.elemecdn.com/d/e6/c4d93a3805b3ce3f323f7974e6f78jpeg.jpeg',
  52 + 'https://fuss10.elemecdn.com/3/28/bbf893f792f03a54408b3b7a7ebf0jpeg.jpeg',
  53 + 'https://fuss10.elemecdn.com/2/11/6535bcfb26e4c79b48ddde44f4b6fjpeg.jpeg',
  54 + 'https://fuss10.elemecdn.com/9/bb/e27858e973f5d7d3904835f46abbdjpeg.jpeg',
  55 + 'https://fuss10.elemecdn.com/d/e6/c4d93a3805b3ce3f323f7974e6f78jpeg.jpeg',
  56 + 'https://fuss10.elemecdn.com/3/28/bbf893f792f03a54408b3b7a7ebf0jpeg.jpeg',
  57 + 'https://fuss10.elemecdn.com/2/11/6535bcfb26e4c79b48ddde44f4b6fjpeg.jpeg',
  58 + 'https://fuss10.elemecdn.com/9/bb/e27858e973f5d7d3904835f46abbdjpeg.jpeg',
  59 + 'https://fuss10.elemecdn.com/d/e6/c4d93a3805b3ce3f323f7974e6f78jpeg.jpeg',
  60 + 'https://fuss10.elemecdn.com/3/28/bbf893f792f03a54408b3b7a7ebf0jpeg.jpeg',
  61 + 'https://fuss10.elemecdn.com/2/11/6535bcfb26e4c79b48ddde44f4b6fjpeg.jpeg',
  62 + 'https://fuss10.elemecdn.com/9/bb/e27858e973f5d7d3904835f46abbdjpeg.jpeg',
  63 + 'https://fuss10.elemecdn.com/d/e6/c4d93a3805b3ce3f323f7974e6f78jpeg.jpeg',
  64 + 'https://fuss10.elemecdn.com/3/28/bbf893f792f03a54408b3b7a7ebf0jpeg.jpeg',
  65 + 'https://fuss10.elemecdn.com/2/11/6535bcfb26e4c79b48ddde44f4b6fjpeg.jpeg',
  66 + 'https://fuss10.elemecdn.com/9/bb/e27858e973f5d7d3904835f46abbdjpeg.jpeg',
  67 + 'https://fuss10.elemecdn.com/d/e6/c4d93a3805b3ce3f323f7974e6f78jpeg.jpeg',
  68 + 'https://fuss10.elemecdn.com/3/28/bbf893f792f03a54408b3b7a7ebf0jpeg.jpeg',
  69 + 'https://fuss10.elemecdn.com/2/11/6535bcfb26e4c79b48ddde44f4b6fjpeg.jpeg',
  70 + 'https://fuss10.elemecdn.com/9/bb/e27858e973f5d7d3904835f46abbdjpeg.jpeg',
  71 + 'https://fuss10.elemecdn.com/d/e6/c4d93a3805b3ce3f323f7974e6f78jpeg.jpeg',
  72 + 'https://fuss10.elemecdn.com/3/28/bbf893f792f03a54408b3b7a7ebf0jpeg.jpeg',
  73 + 'https://fuss10.elemecdn.com/2/11/6535bcfb26e4c79b48ddde44f4b6fjpeg.jpeg',
  74 + 'https://fuss10.elemecdn.com/9/bb/e27858e973f5d7d3904835f46abbdjpeg.jpeg',
  75 + 'https://fuss10.elemecdn.com/d/e6/c4d93a3805b3ce3f323f7974e6f78jpeg.jpeg',
  76 + 'https://fuss10.elemecdn.com/3/28/bbf893f792f03a54408b3b7a7ebf0jpeg.jpeg',
  77 + 'https://fuss10.elemecdn.com/2/11/6535bcfb26e4c79b48ddde44f4b6fjpeg.jpeg'
  78 + ],
  79 +
  80 + requestUrl: process.env.BASE_API + "/file/upload",
  81 + headers: {
  82 + Authorization: getToken()
  83 + },
  84 + fileList: [],
  85 + uploadImgUrl: ""
  86 + };
  87 + },
  88 + created() {
  89 + this.uploadImgUrl = this.value;
  90 + },
  91 + methods: {
  92 + openDialog() {
  93 + console.log(12313123213)
  94 + },
  95 +
  96 +
  97 +
  98 + getImages(el) {
  99 + let file = el.target.files[0];
  100 + let type = file.type.split("/")[0];
  101 + if (type === "image") {
  102 + this.upload(file);
  103 + } else {
  104 + this.$message.warn("只能上传图片格式");
  105 + }
  106 + },
  107 + upload(imgUrl) {
  108 + let that = this;
  109 + console.log(that.headers);
  110 + let formdata = new FormData();
  111 + formdata.append("file", imgUrl);
  112 + axios
  113 + .post(this.requestUrl, formdata, {
  114 + headers: that.headers
  115 + })
  116 + .then(response => {
  117 + let res = response.data;
  118 + if (res.code == "200") {
  119 + that.uploadImgUrl = res.data.urlPath;
  120 + that.$emit("input", that.uploadImgUrl);
  121 + that.$emit("change", that.uploadImgUrl);
  122 + }
  123 + });
  124 + },
  125 + changeInput(e) {
  126 + if (e) {
  127 + this.uploadImgUrl = e;
  128 + } else {
  129 + this.$refs.files.value = "";
  130 + this.uploadImgUrl = "";
  131 + }
  132 + this.$emit("input", this.uploadImgUrl);
  133 + this.$emit("change", this.uploadImgUrl);
  134 + }
  135 + }
  136 +};
  137 +</script>
  138 +<style lang="scss" scoped>
  139 +.file {
  140 + position: absolute;
  141 + width: 100%;
  142 + padding: 100%;
  143 + right: 0;
  144 + top: 0;
  145 + opacity: 0;
  146 +}
  147 +
  148 +/deep/.el-input-group__append,
  149 +/deep/.el-input-group__prepend {
  150 + padding: 0 10px !important;
  151 + overflow: hidden;
  152 +}
  153 +
  154 +.iconfont {
  155 + cursor: pointer;
  156 + font-size: 12px;
  157 +}
  158 +
  159 +
  160 +/deep/ .el-dialog .el-dialog__header,
  161 +/deep/ .el-dialog__body {
  162 + background: #1b1e25;
  163 +}
  164 +
  165 +.image-list {
  166 + margin-top: 20px;
  167 + height: 50vh;
  168 + overflow: auto;
  169 +
  170 + &::-webkit-scrollbar {
  171 + /*滚动条整体样式*/
  172 + width: 8px;
  173 + /*高宽分别对应横竖滚动条的尺寸*/
  174 + height: 1px;
  175 + }
  176 +
  177 + &::-webkit-scrollbar-thumb {
  178 + /*滚动条里面小方块*/
  179 + border-radius: 10px;
  180 + background: #535353;
  181 + }
  182 +
  183 + &::-webkit-scrollbar-track-piece {
  184 + /*滚动条里面轨道*/
  185 + border-radius: 10px;
  186 + background: #1b1e25;
  187 + }
  188 +
  189 + .image {
  190 + width: 20%;
  191 + }
  192 +}
  193 +</style>
src/views/bigscreenDesigner/designer/components/dynamicForm.vue
@@ -60,6 +60,12 @@ @@ -60,6 +60,12 @@
60 v-model="formData[item.name]" 60 v-model="formData[item.name]"
61 @change="val => changed(val, item.name)" 61 @change="val => changed(val, item.name)"
62 /> 62 />
  63 +
  64 + <CustomUploadNew v-if="item.type == 'custom-upload-new'"
  65 + v-model="formData[item.name]"
  66 + @change="changed($event, item.name)">
  67 + </CustomUploadNew>
  68 +
63 <customUpload 69 <customUpload
64 v-if="item.type == 'custom-upload'" 70 v-if="item.type == 'custom-upload'"
65 v-model="formData[item.name]" 71 v-model="formData[item.name]"
@@ -276,6 +282,7 @@ import dynamicComponents from &quot;./dynamicComponents.vue&quot;; @@ -276,6 +282,7 @@ import dynamicComponents from &quot;./dynamicComponents.vue&quot;;
276 import customColorComponents from "./customColorComponents"; 282 import customColorComponents from "./customColorComponents";
277 import dynamicAddTable from "./dynamicAddTable.vue"; 283 import dynamicAddTable from "./dynamicAddTable.vue";
278 import customUpload from "./customUpload.vue"; 284 import customUpload from "./customUpload.vue";
  285 +import CustomUploadNew from "./customUploadNew";
279 export default { 286 export default {
280 name: "DynamicForm", 287 name: "DynamicForm",
281 components: { 288 components: {
@@ -284,7 +291,8 @@ export default { @@ -284,7 +291,8 @@ export default {
284 dynamicComponents, 291 dynamicComponents,
285 customColorComponents, 292 customColorComponents,
286 dynamicAddTable, 293 dynamicAddTable,
287 - customUpload 294 + customUpload,
  295 + CustomUploadNew
288 }, 296 },
289 model: { 297 model: {
290 prop: "value", 298 prop: "value",
src/views/bigscreenDesigner/designer/index.vue
@@ -14,13 +14,13 @@ @@ -14,13 +14,13 @@
14 <!-- <el-divider content-position="center">html</el-divider>--> 14 <!-- <el-divider content-position="center">html</el-divider>-->
15 15
16 <el-menu default-active="2" class="el-menu-vertical-demo" background-color="#242f3b" text-color="#fff" 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"> 17 + active-text-color="#ffd04b" :default-openeds="['decorate', 'text']">
  18 + <el-submenu :index="group.groupType" v-for="group in widgetToolsGroup" :key="group.groupType">
19 <template slot="title"> 19 <template slot="title">
20 <i class="el-icon-location"></i> 20 <i class="el-icon-location"></i>
21 - <span>装饰</span> 21 + <span>{{ group.groupName }}</span>
22 </template> 22 </template>
23 - <el-menu-item v-for="widget in widgetTools" :key="widget.code"> 23 + <el-menu-item v-for="widget in group.data" :key="widget.code">
24 <li draggable="true" @dragstart="dragStart(widget.code)" @dragend="dragEnd()"> 24 <li draggable="true" @dragstart="dragStart(widget.code)" @dragend="dragEnd()">
25 <div class="tools-item"> 25 <div class="tools-item">
26 <span class="tools-item-icon"> 26 <span class="tools-item-icon">
@@ -35,7 +35,6 @@ @@ -35,7 +35,6 @@
35 35
36 36
37 37
38 -  
39 <!-- <li v-for="widget in widgetTools" :key="widget.code" draggable="true" @dragstart="dragStart(widget.code)" 38 <!-- <li v-for="widget in widgetTools" :key="widget.code" draggable="true" @dragstart="dragStart(widget.code)"
40 @dragend="dragEnd()"> 39 @dragend="dragEnd()">
41 <div class="tools-item"> 40 <div class="tools-item">
@@ -182,7 +181,7 @@ import { @@ -182,7 +181,7 @@ import {
182 importDashboard, 181 importDashboard,
183 exportDashboard 182 exportDashboard
184 } from "@/api/bigscreen"; 183 } from "@/api/bigscreen";
185 -import { widgetTools, getToolByCode } from "./tools/index"; 184 +import { widgetTools, getToolByCode, getWidgetToolsGroup } from "./tools/index";
186 import widget from "./widget/widget.vue"; 185 import widget from "./widget/widget.vue";
187 import dynamicForm from "./components/dynamicForm.vue"; 186 import dynamicForm from "./components/dynamicForm.vue";
188 import draggable from "vuedraggable"; 187 import draggable from "vuedraggable";
@@ -270,7 +269,8 @@ export default { @@ -270,7 +269,8 @@ export default {
270 }, 269 },
271 visibleContentMenu: false, 270 visibleContentMenu: false,
272 rightClickIndex: -1, 271 rightClickIndex: -1,
273 - activeName: "first" 272 + activeName: "first",
  273 + widgetToolsGroup: getWidgetToolsGroup(), // 组件分组
274 }; 274 };
275 }, 275 },
276 computed: { 276 computed: {
src/views/bigscreenDesigner/designer/tools/configure/widget-decorate.js 0 → 100644
  1 +/**
  2 + * 装饰json
  3 + */
  4 +export const widgetDecorate = {
  5 + code: "widget-decorate",
  6 + type: "html",
  7 + label: "装饰",
  8 + icon: "icontupian1",
  9 + group: "decorate",
  10 + options: {
  11 + // 配置
  12 + setup: [
  13 + {
  14 + type: "el-input-text",
  15 + label: "图层名称",
  16 + name: "layerName",
  17 + required: false,
  18 + placeholder: "",
  19 + value: "装饰"
  20 + },
  21 + {
  22 + type: "el-select",
  23 + label: "装饰类型",
  24 + name: "decorateType",
  25 + required: false,
  26 + placeholder: "",
  27 + selectOptions: [
  28 + // { code: "div_Style_1", name: "装饰1_?" },
  29 + { code: "div_Style_2", name: "装饰1" },
  30 + // { code: "div_Style_3", name: "装饰3_?" },
  31 + { code: "div_Style_4", name: "装饰2" },
  32 + { code: "div_Style_5", name: "装饰3" },
  33 + // { code: "div_Style_6", name: "装饰6_?" },
  34 + { code: "div_Style_7", name: "装饰4" },
  35 + { code: "div_Style_8", name: "装饰5" },
  36 + // { code: "div_Style_9", name: "装饰9_?" },
  37 + { code: "div_Style_10", name: "装饰6" },
  38 + { code: "div_Style_11", name: "装饰7" },
  39 + { code: "div_Style_12", name: "装饰8" }
  40 + ],
  41 + value: "div_Style_11"
  42 + },
  43 + {
  44 + type: "el-input-text",
  45 + label: "标题",
  46 + name: "text",
  47 + required: false,
  48 + placeholder: "",
  49 + value: ""
  50 + },
  51 + ],
  52 + // 数据
  53 + data: [],
  54 + // 坐标
  55 + position: [
  56 + {
  57 + type: "el-input-number",
  58 + label: "左边距",
  59 + name: "left",
  60 + required: false,
  61 + placeholder: "",
  62 + value: 0
  63 + },
  64 + {
  65 + type: "el-input-number",
  66 + label: "上边距",
  67 + name: "top",
  68 + required: false,
  69 + placeholder: "",
  70 + value: 0
  71 + },
  72 + {
  73 + type: "el-input-number",
  74 + label: "宽度",
  75 + name: "width",
  76 + required: false,
  77 + placeholder: "该容器在1920px大屏中的宽度",
  78 + value: 1000
  79 + },
  80 + {
  81 + type: "el-input-number",
  82 + label: "高度",
  83 + name: "height",
  84 + required: false,
  85 + placeholder: "该容器在1080px大屏中的高度",
  86 + value: 600
  87 + }
  88 + ]
  89 + }
  90 +};
src/views/bigscreenDesigner/designer/tools/configure/widget-div.js
@@ -6,6 +6,7 @@ export const widgetDiv = { @@ -6,6 +6,7 @@ export const widgetDiv = {
6 type: 'html', 6 type: 'html',
7 label: '边框', 7 label: '边框',
8 icon: 'icontupian1', 8 icon: 'icontupian1',
  9 + group: 'decorate',
9 options: { 10 options: {
10 // 配置 11 // 配置
11 setup: [ 12 setup: [
src/views/bigscreenDesigner/designer/tools/configure/widget-image.js
@@ -11,6 +11,7 @@ export const widgetImage = { @@ -11,6 +11,7 @@ export const widgetImage = {
11 type: 'html', 11 type: 'html',
12 label: '图片', 12 label: '图片',
13 icon: 'icontupian', 13 icon: 'icontupian',
  14 + group: 'decorate',
14 options: { 15 options: {
15 // 配置 16 // 配置
16 setup: [ 17 setup: [
@@ -55,7 +56,7 @@ export const widgetImage = { @@ -55,7 +56,7 @@ export const widgetImage = {
55 value: '0' 56 value: '0'
56 }, 57 },
57 { 58 {
58 - type: 'custom-upload', 59 + type: 'custom-upload-new',
59 label: '图片地址', 60 label: '图片地址',
60 name: 'imageAdress', 61 name: 'imageAdress',
61 required: false, 62 required: false,
src/views/bigscreenDesigner/designer/tools/configure/widget-marquee.js
@@ -11,6 +11,7 @@ export const widgetMarquee = { @@ -11,6 +11,7 @@ export const widgetMarquee = {
11 type: 'html', 11 type: 'html',
12 label: '滚动文本', 12 label: '滚动文本',
13 icon: 'iconhengxiangwenzi', 13 icon: 'iconhengxiangwenzi',
  14 + type: 'text',
14 options: { 15 options: {
15 // 配置 16 // 配置
16 setup: [ 17 setup: [
src/views/bigscreenDesigner/designer/tools/configure/widget-table.js
@@ -11,6 +11,7 @@ export const widgetTable = { @@ -11,6 +11,7 @@ export const widgetTable = {
11 type: 'html', 11 type: 'html',
12 label: '表格', 12 label: '表格',
13 icon: 'iconbiaoge', 13 icon: 'iconbiaoge',
  14 + group: 'grid',
14 options: { 15 options: {
15 setup: [ 16 setup: [
16 { 17 {
src/views/bigscreenDesigner/designer/tools/configure/widget-text.js
@@ -11,6 +11,7 @@ export const widgetText = { @@ -11,6 +11,7 @@ export const widgetText = {
11 type: 'html', 11 type: 'html',
12 label: '文本', 12 label: '文本',
13 icon: 'iconziyuan', 13 icon: 'iconziyuan',
  14 + type: 'text',
14 options: { 15 options: {
15 // 配置 16 // 配置
16 setup: [ 17 setup: [
src/views/bigscreenDesigner/designer/tools/configure/widget-video.js
@@ -11,6 +11,7 @@ export const widgetVideo = { @@ -11,6 +11,7 @@ export const widgetVideo = {
11 type: 'html', 11 type: 'html',
12 label: '视频', 12 label: '视频',
13 icon: 'iconshipin', 13 icon: 'iconshipin',
  14 + group: 'media',
14 options: { 15 options: {
15 // 配置 16 // 配置
16 setup: [ 17 setup: [
src/views/bigscreenDesigner/designer/tools/index.js
@@ -82,12 +82,70 @@ const getToolByCode = function(code) { @@ -82,12 +82,70 @@ const getToolByCode = function(code) {
82 }; 82 };
83 console.log(widgetTools); 83 console.log(widgetTools);
84 84
85 -const widgetToolsGroup = () => {  
86 - let chartGroup = []; 85 +const getWidgetToolsGroup = () => {
  86 + let [
  87 + chartGroup,
  88 + decorateGroup,
  89 + textGroup,
  90 + gridGroup,
  91 + mediaGroup,
  92 + otherGroup
  93 + ] = [[], [], [], [], [], []];
87 94
88 for (const item of widgetTools) { 95 for (const item of widgetTools) {
89 - 96 + switch (item.group || item.type) {
  97 + case "chart":
  98 + chartGroup.push(item);
  99 + break;
  100 + case "decorate":
  101 + decorateGroup.push(item);
  102 + break;
  103 + case "text":
  104 + textGroup.push(item);
  105 + break;
  106 + case "grid":
  107 + gridGroup.push(item);
  108 + break;
  109 + case "media":
  110 + mediaGroup.push(item);
  111 + break;
  112 + default:
  113 + otherGroup.push(item);
  114 + break;
  115 + }
90 } 116 }
91 - 117 + return [
  118 + {
  119 + groupType: "chart",
  120 + groupName: "图表",
  121 + data: chartGroup
  122 + },
  123 + {
  124 + groupType: "decorate",
  125 + groupName: "装饰",
  126 + data: decorateGroup
  127 + },
  128 + {
  129 + groupType: "text",
  130 + groupName: "文字",
  131 + data: textGroup
  132 + },
  133 + {
  134 + groupType: "grid",
  135 + groupName: "表格",
  136 + data: gridGroup
  137 + },
  138 + {
  139 + groupType: "media",
  140 + groupName: "媒体",
  141 + data: mediaGroup
  142 + },
  143 + {
  144 + groupType: "other",
  145 + groupName: "其他",
  146 + data: otherGroup
  147 + }
  148 + ];
92 }; 149 };
93 -export { widgetTools, getToolByCode, widgetToolsGroup }; 150 +
  151 +export { widgetTools, getToolByCode, getWidgetToolsGroup };
src/views/bigscreenDesigner/designer/tools/main.js
@@ -37,6 +37,7 @@ import {widgetDecoratePie} from &quot;./configure/widget-decorate-pie&quot;; @@ -37,6 +37,7 @@ import {widgetDecoratePie} from &quot;./configure/widget-decorate-pie&quot;;
37 import {widgetMoreBarLine} from "./configure/widget-more-bar-line"; 37 import {widgetMoreBarLine} from "./configure/widget-more-bar-line";
38 import {widgetWordCloud} from "./configure/widget-word-cloud"; 38 import {widgetWordCloud} from "./configure/widget-word-cloud";
39 import {widgetHeatmap} from "./configure/widget-heatmap"; 39 import {widgetHeatmap} from "./configure/widget-heatmap";
  40 +import {widgetDecorate} from "./configure/widget-decorate";
40 41
41 export const widgetTool = [ 42 export const widgetTool = [
42 // type=html类型的组件 43 // type=html类型的组件
@@ -69,5 +70,6 @@ export const widgetTool = [ @@ -69,5 +70,6 @@ export const widgetTool = [
69 widgetDecoratePie, 70 widgetDecoratePie,
70 widgetMoreBarLine, 71 widgetMoreBarLine,
71 widgetWordCloud, 72 widgetWordCloud,
72 - widgetHeatmap 73 + widgetHeatmap,
  74 + widgetDecorate
73 ] 75 ]
src/views/bigscreenDesigner/designer/widget/decorate/decorate.vue 0 → 100644
  1 +<!--
  2 + decorate 图层
  3 +-->
  4 +<template>
  5 + <div :style="styleColor">
  6 + <div :class="['div_Style', 'div_Style_7']" v-if="styleColor.divClass === 'div_Style_7'">
  7 + <div class="div_Style_7_1"></div>
  8 + <div class="text">{{ styleColor.text }}</div>
  9 + <div class="div_Style_7_2"></div>
  10 + </div>
  11 + <div :class="['div_Style', styleColor.divClass]" v-else>
  12 + <div class="text" v-if="styleColor.divClass === 'div_Style_11'">{{ styleColor.text }}</div>
  13 + </div>
  14 + </div>
  15 +</template>
  16 +
  17 +<script>
  18 +export default {
  19 + name: 'widget-decorate',
  20 + props: {
  21 + value: Object,
  22 + ispreview: Boolean,
  23 + },
  24 + data() {
  25 + return {
  26 + options: {},
  27 + optionsData: {},
  28 + };
  29 + },
  30 + computed: {
  31 + transStyle() {
  32 + return this.objToOne(this.options);
  33 + },
  34 + styleColor() {
  35 + return {
  36 + position: this.ispreview ? "absolute" : "static",
  37 + color: this.transStyle.colorOne,
  38 + text: this.transStyle.text,
  39 + divClass:
  40 + this.transStyle.decorateType == undefined
  41 + ? "div_Style_1"
  42 + : this.transStyle.decorateType,
  43 + background: this.transStyle.background,
  44 + width: this.transStyle.width + "px",
  45 + height: this.transStyle.height + "px",
  46 + left: this.transStyle.left + "px",
  47 + top: this.transStyle.top + "px",
  48 + right: this.transStyle.right + "px",
  49 + };
  50 + },
  51 + },
  52 + watch: {
  53 + value: {
  54 + handler(val) {
  55 + this.options = val;
  56 + },
  57 + deep: true,
  58 + },
  59 + },
  60 + mounted() {
  61 + this.options = this.value;
  62 + },
  63 + methods: {},
  64 +};
  65 +</script>
  66 +
  67 +<style scoped lang="scss">
  68 +.div_Style {
  69 + width: 100%;
  70 + height: 100%;
  71 +}
  72 +
  73 +.div_Style_1 {
  74 + background: url("../../../../../assets/images/widget/decorate1.svg") center no-repeat;
  75 + background-size: 100% 100%;
  76 +}
  77 +
  78 +.div_Style_2 {
  79 + background: url("../../../../../assets/images/widget/decorate2.svg") center no-repeat;
  80 + background-size: 100% 100%;
  81 +}
  82 +
  83 +.div_Style_3 {
  84 + background: url("../../../../../assets/images/widget/decorate3.svg") no-repeat;
  85 + background-size: 100% 100%;
  86 +}
  87 +
  88 +.div_Style_4 {
  89 + background: url("../../../../../assets/images/widget/decorate4.svg") center no-repeat;
  90 + background-size: 10px 100%;
  91 +}
  92 +
  93 +.div_Style_5 {
  94 + background: url("../../../../../assets/images/widget/decorate5.svg") no-repeat;
  95 + background-size: 100% 100%;
  96 +}
  97 +
  98 +.div_Style_6 {
  99 + background: url("../../../../../assets/images/widget/decorate6.svg") no-repeat;
  100 + background-size: 100% 100%;
  101 +}
  102 +
  103 +.div_Style_7 {
  104 + display: flex;
  105 + align-items: center;
  106 + justify-content: center;
  107 +
  108 + .text {
  109 + color: #E8E9EA;
  110 + font-size: 1.5em;
  111 + }
  112 +}
  113 +
  114 +.div_Style_7_1 {
  115 + width: 20px;
  116 + height: 20px;
  117 + background: url("../../../../../assets/images/widget/decorate7_1.svg") no-repeat;
  118 + background-size: 100% 100%;
  119 +}
  120 +
  121 +.div_Style_7_2 {
  122 + width: 20px;
  123 + height: 20px;
  124 + background: url("../../../../../assets/images/widget/decorate7_2.svg") no-repeat;
  125 + background-size: 100% 100%;
  126 +}
  127 +
  128 +.div_Style_8 {
  129 + height: 100%;
  130 + background: url("../../../../../assets/images/widget/decorate8.svg") no-repeat;
  131 + background-size: 100% 100%;
  132 +}
  133 +
  134 +.div_Style_9 {
  135 + background: url("../../../../../assets/images/widget/decorate9.svg") no-repeat;
  136 + background-size: 100% 100%;
  137 +}
  138 +
  139 +.div_Style_10 {
  140 + width: 100%;
  141 + background: url("../../../../../assets/images/widget/decorate10.svg") center no-repeat;
  142 + background-size: 100% auto;
  143 +}
  144 +
  145 +.div_Style_11 {
  146 + width: 100%;
  147 + background: url("../../../../../assets/images/widget/decorate11.svg") no-repeat;
  148 + background-size: 100% 100%;
  149 + display: flex;
  150 + align-items: center;
  151 + justify-content: center;
  152 +
  153 + .text {
  154 + color: #E8E9EA;
  155 + font-size: 1.5em;
  156 + }
  157 +}
  158 +
  159 +.div_Style_12 {
  160 + background: url("../../../../../assets/images/widget/decorate12.svg") no-repeat;
  161 + background-size: 100% 100%;
  162 +}
  163 +</style>
src/views/bigscreenDesigner/designer/widget/widget.vue
@@ -51,6 +51,7 @@ import widgetMoreBarLineChart from &quot;./bar/widgetMoreBarLineChart&quot;; @@ -51,6 +51,7 @@ import widgetMoreBarLineChart from &quot;./bar/widgetMoreBarLineChart&quot;;
51 import widgetWordCloud from "./wordcloud/widgetWordCloud"; 51 import widgetWordCloud from "./wordcloud/widgetWordCloud";
52 import widgetHeatmap from "./heatmap/widgetHeatmap"; 52 import widgetHeatmap from "./heatmap/widgetHeatmap";
53 import widgetDiv from "./div/widgetDiv" 53 import widgetDiv from "./div/widgetDiv"
  54 +import widgetDecorate from "./decorate/decorate"
54 55
55 export default { 56 export default {
56 name: "Widget", 57 name: "Widget",
@@ -83,7 +84,8 @@ export default { @@ -83,7 +84,8 @@ export default {
83 widgetMoreBarLineChart, 84 widgetMoreBarLineChart,
84 widgetWordCloud, 85 widgetWordCloud,
85 widgetHeatmap, 86 widgetHeatmap,
86 - widgetDiv 87 + widgetDiv,
  88 + widgetDecorate
87 }, 89 },
88 model: { 90 model: {
89 prop: "value", 91 prop: "value",
src/views/bigscreenDesigner/designer/widget/widgetImage.vue
1 <template> 1 <template>
2 <div class="imagebox" :style="styleColor"> 2 <div class="imagebox" :style="styleColor">
3 - <img  
4 - :class="transStyle.startRotate ? 'startImg' : ''"  
5 - :style="imgStyle"  
6 - :src="imgStyle.imageAdress"  
7 - alt=""  
8 - /> 3 + <div class="bg"></div>
  4 + <img :class="transStyle.startRotate ? 'startImg' : ''" :style="imgStyle" :src="imgStyle.imageAdress" alt="" />
9 </div> 5 </div>
10 </template> 6 </template>
11 <script> 7 <script>
@@ -42,7 +38,7 @@ export default { @@ -42,7 +38,7 @@ export default {
42 imageAdress: this.transStyle.imageAdress, 38 imageAdress: this.transStyle.imageAdress,
43 "border-radius": this.transStyle.borderRadius + "px", 39 "border-radius": this.transStyle.borderRadius + "px",
44 opacity: this.transStyle.transparency / 100, 40 opacity: this.transStyle.transparency / 100,
45 - animation: this.transStyle.startRotate? "turn "+(101-this.transStyle.rotationSpeed)/10+"s linear infinite":"none" 41 + animation: this.transStyle.startRotate ? "turn " + (101 - this.transStyle.rotationSpeed) / 10 + "s linear infinite" : "none"
46 }; 42 };
47 } 43 }
48 }, 44 },
@@ -57,7 +53,7 @@ export default { @@ -57,7 +53,7 @@ export default {
57 created() { 53 created() {
58 this.options = this.value; 54 this.options = this.value;
59 }, 55 },
60 - mounted() {}, 56 + mounted() { },
61 methods: {} 57 methods: {}
62 }; 58 };
63 </script> 59 </script>
@@ -67,13 +63,26 @@ export default { @@ -67,13 +63,26 @@ export default {
67 width: 100%; 63 width: 100%;
68 height: 100%; 64 height: 100%;
69 overflow: hidden; 65 overflow: hidden;
  66 + position: relative;
  67 +
  68 + .bg {
  69 + position: absolute;
  70 + width: 100%;
  71 + height: 100%;
  72 + top: 0;
  73 + left: 0;
  74 + background: url(data:image/png;base64,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) no-repeat;
  75 + background-size: 100% 100%;
  76 + }
70 } 77 }
  78 +
  79 +
71 .imagebox img { 80 .imagebox img {
72 width: 100%; 81 width: 100%;
73 height: 100%; 82 height: 100%;
74 } 83 }
  84 +
75 .startImg { 85 .startImg {
76 animation: turn 1s linear infinite; 86 animation: turn 1s linear infinite;
77 } 87 }
78 -  
79 </style> 88 </style>