소스 검색

Merge branch 'master' into http_mock

qinzhipeng_v 6 년 전
부모
커밋
37b026ed26
51개의 변경된 파일419개의 추가작업 그리고 80개의 파일을 삭제
  1. BIN
      root@10.179.115.141/favicon.ico
  2. 0 19
      root@10.179.115.141/index.html
  3. 0 0
      root@10.179.115.141/static/css/app.1613a718.css
  4. 0 1
      root@10.179.115.141/static/css/chunk-1662883c.09270e38.css
  5. 0 0
      root@10.179.115.141/static/css/chunk-238a81e9.e8e2beee.css
  6. 0 1
      root@10.179.115.141/static/css/chunk-29cb5352.4315d37d.css
  7. 0 1
      root@10.179.115.141/static/css/chunk-29d5594e.1d142f34.css
  8. 0 1
      root@10.179.115.141/static/css/chunk-2ea2d8c6.9b091503.css
  9. 0 1
      root@10.179.115.141/static/css/chunk-2ec82462.4315d37d.css
  10. 0 0
      root@10.179.115.141/static/css/chunk-elementUI.81cf475c.css
  11. 0 0
      root@10.179.115.141/static/css/chunk-libs.887691f5.css
  12. BIN
      root@10.179.115.141/static/fonts/element-icons.535877f5.woff
  13. BIN
      root@10.179.115.141/static/fonts/element-icons.732389de.ttf
  14. BIN
      root@10.179.115.141/static/img/404.a57b6f31.png
  15. BIN
      root@10.179.115.141/static/img/404_cloud.0f4bc32b.png
  16. BIN
      root@10.179.115.141/static/img/banner_pic@3x.52e0ee2f.png
  17. BIN
      root@10.179.115.141/static/img/banner_title@3x.9f7c2283.png
  18. BIN
      root@10.179.115.141/static/img/nav_logo@3x.f4009cf2.png
  19. BIN
      root@10.179.115.141/static/img/rabbit-logo.d25a6cc8.gif
  20. BIN
      root@10.179.115.141/static/img/thoth_logopattern.ed69b966.png
  21. BIN
      root@10.179.115.141/static/img/功能介绍_icon_数据中心未上线@3x.fee12a07.png
  22. BIN
      root@10.179.115.141/static/img/功能介绍_icon_自动化未上线@3x.c796d862.png
  23. BIN
      root@10.179.115.141/static/img/客服群二维码.02001b72.png
  24. 0 0
      root@10.179.115.141/static/js/app.35b19942.js
  25. 0 0
      root@10.179.115.141/static/js/chunk-1662883c.e670624e.js
  26. 0 1
      root@10.179.115.141/static/js/chunk-238a81e9.cfebf29b.js
  27. 0 0
      root@10.179.115.141/static/js/chunk-29cb5352.1d16abfc.js
  28. 0 0
      root@10.179.115.141/static/js/chunk-29d5594e.64ff3164.js
  29. 0 1
      root@10.179.115.141/static/js/chunk-2d0c76f4.6ce66a3a.js
  30. 0 0
      root@10.179.115.141/static/js/chunk-2ea2d8c6.99b2d598.js
  31. 0 0
      root@10.179.115.141/static/js/chunk-2ec82462.90397089.js
  32. 0 0
      root@10.179.115.141/static/js/chunk-elementUI.fed7206f.js
  33. 0 0
      root@10.179.115.141/static/js/chunk-libs.831cbdfa.js
  34. BIN
      src/assets/home_images/banner_title@2x.png
  35. BIN
      src/assets/home_images/banner_title@3x.png
  36. BIN
      src/assets/home_images/logo@2x.png
  37. BIN
      src/assets/home_images/nav_logo@3x.png
  38. 26 0
      src/icons/svg/功能介绍_icon_数据中心.svg
  39. 23 0
      src/icons/svg/功能介绍_icon_服务mock.svg
  40. 27 0
      src/icons/svg/功能介绍_icon_流程管控.svg
  41. 31 0
      src/icons/svg/功能介绍_icon_环境平台.svg
  42. 25 0
      src/icons/svg/功能介绍_icon_自动化.svg
  43. 43 0
      src/icons/svg/功能介绍_icon_虚拟硬件.svg
  44. 1 1
      src/layout/components/Sidebar/Logo.vue
  45. 12 3
      src/layout/components/Sidebar/index.vue
  46. 34 11
      src/router/index.js
  47. 1 1
      src/settings.js
  48. 1 1
      src/views/dashboard/index.vue
  49. 78 7
      src/views/data/index.vue
  50. 60 0
      src/views/data/upload.vue
  51. 57 30
      src/views/home/index.vue

BIN
root@10.179.115.141/favicon.ico


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 19
root@10.179.115.141/index.html


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
root@10.179.115.141/static/css/app.1613a718.css


+ 0 - 1
root@10.179.115.141/static/css/chunk-1662883c.09270e38.css

@@ -1 +0,0 @@
-.waves-ripple{position:absolute;border-radius:100%;background-color:rgba(0,0,0,.15);background-clip:padding-box;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transform:scale(0);transform:scale(0);opacity:1}.waves-ripple.z-active{opacity:0;-webkit-transform:scale(2);transform:scale(2);-webkit-transition:opacity 1.2s ease-out,-webkit-transform .6s ease-out;transition:opacity 1.2s ease-out,-webkit-transform .6s ease-out;transition:opacity 1.2s ease-out,transform .6s ease-out;transition:opacity 1.2s ease-out,transform .6s ease-out,-webkit-transform .6s ease-out}.pagination-container[data-v-13a9916e]{background:#fff;padding:2px 2px}.pagination-container.hidden[data-v-13a9916e]{display:none}.filter-item[data-v-5879115d]{margin-top:10px}.showInfo{width:400px;height:400px;text-align:center;position:fixed;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.showZm{position:absolute;background-color:#ccc;width:100%;height:100%;opacity:.5}.showBtn{color:red;padding-left:200px}

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
root@10.179.115.141/static/css/chunk-238a81e9.e8e2beee.css


+ 0 - 1
root@10.179.115.141/static/css/chunk-29cb5352.4315d37d.css

@@ -1 +0,0 @@
-.waves-ripple{position:absolute;border-radius:100%;background-color:rgba(0,0,0,.15);background-clip:padding-box;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transform:scale(0);transform:scale(0);opacity:1}.waves-ripple.z-active{opacity:0;-webkit-transform:scale(2);transform:scale(2);-webkit-transition:opacity 1.2s ease-out,-webkit-transform .6s ease-out;transition:opacity 1.2s ease-out,-webkit-transform .6s ease-out;transition:opacity 1.2s ease-out,transform .6s ease-out;transition:opacity 1.2s ease-out,transform .6s ease-out,-webkit-transform .6s ease-out}.pagination-container[data-v-13a9916e]{background:#fff;padding:2px 2px}.pagination-container.hidden[data-v-13a9916e]{display:none}.el-notification.right{position:fixed;right:38.5%}

+ 0 - 1
root@10.179.115.141/static/css/chunk-29d5594e.1d142f34.css

@@ -1 +0,0 @@
-.waves-ripple{position:absolute;border-radius:100%;background-color:rgba(0,0,0,.15);background-clip:padding-box;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transform:scale(0);transform:scale(0);opacity:1}.waves-ripple.z-active{opacity:0;-webkit-transform:scale(2);transform:scale(2);-webkit-transition:opacity 1.2s ease-out,-webkit-transform .6s ease-out;transition:opacity 1.2s ease-out,-webkit-transform .6s ease-out;transition:opacity 1.2s ease-out,transform .6s ease-out;transition:opacity 1.2s ease-out,transform .6s ease-out,-webkit-transform .6s ease-out}.pagination-container[data-v-13a9916e]{background:#fff;padding:2px 2px}.pagination-container.hidden[data-v-13a9916e]{display:none}.filter-item[data-v-665599a4]{margin-top:10px}.showInfo{width:400px;height:400px;text-align:center;position:fixed;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.showZm{position:absolute;background-color:#ccc;width:100%;height:100%;opacity:.5}.showBtn{color:red;padding-left:200px}

+ 0 - 1
root@10.179.115.141/static/css/chunk-2ea2d8c6.9b091503.css

@@ -1 +0,0 @@
-@supports (-webkit-mask:none) and (not (cater-color:#fff)){.login-container .el-input input{color:#fff}}.login-container .el-input{display:inline-block;height:47px;width:85%}.login-container .el-input input{background:transparent;border:0;-webkit-appearance:none;border-radius:0;padding:12px 5px 12px 15px;color:#fff;height:47px;caret-color:#fff}.login-container .el-input input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #283443 inset!important;box-shadow:inset 0 0 0 1000px #283443!important;-webkit-text-fill-color:#fff!important}.login-container .el-form-item{border:1px solid hsla(0,0%,100%,.1);background:rgba(0,0,0,.1);border-radius:5px;color:#454545}.login-container[data-v-1399390a]{min-height:100%;width:100%;background-color:#2d3a4b;overflow:hidden}.login-container .login-form[data-v-1399390a]{position:relative;width:520px;max-width:100%;padding:160px 35px 0;margin:0 auto;overflow:hidden}.login-container .tips[data-v-1399390a]{font-size:14px;color:#fff;margin-bottom:10px}.login-container .tips span[data-v-1399390a]:first-of-type{margin-right:16px}.login-container .svg-container[data-v-1399390a]{padding:6px 5px 6px 15px;color:#889aa4;vertical-align:middle;width:30px;display:inline-block}.login-container .title-container[data-v-1399390a]{position:relative}.login-container .title-container .title[data-v-1399390a]{font-size:26px;color:#eee;margin:0 auto 40px auto;text-align:center;font-weight:700}.login-container .show-pwd[data-v-1399390a]{position:absolute;right:10px;top:7px;font-size:16px;color:#889aa4;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}

+ 0 - 1
root@10.179.115.141/static/css/chunk-2ec82462.4315d37d.css

@@ -1 +0,0 @@
-.waves-ripple{position:absolute;border-radius:100%;background-color:rgba(0,0,0,.15);background-clip:padding-box;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-transform:scale(0);transform:scale(0);opacity:1}.waves-ripple.z-active{opacity:0;-webkit-transform:scale(2);transform:scale(2);-webkit-transition:opacity 1.2s ease-out,-webkit-transform .6s ease-out;transition:opacity 1.2s ease-out,-webkit-transform .6s ease-out;transition:opacity 1.2s ease-out,transform .6s ease-out;transition:opacity 1.2s ease-out,transform .6s ease-out,-webkit-transform .6s ease-out}.pagination-container[data-v-13a9916e]{background:#fff;padding:2px 2px}.pagination-container.hidden[data-v-13a9916e]{display:none}.el-notification.right{position:fixed;right:38.5%}

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
root@10.179.115.141/static/css/chunk-elementUI.81cf475c.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
root@10.179.115.141/static/css/chunk-libs.887691f5.css


BIN
root@10.179.115.141/static/fonts/element-icons.535877f5.woff


BIN
root@10.179.115.141/static/fonts/element-icons.732389de.ttf


BIN
root@10.179.115.141/static/img/404.a57b6f31.png


BIN
root@10.179.115.141/static/img/404_cloud.0f4bc32b.png


BIN
root@10.179.115.141/static/img/banner_pic@3x.52e0ee2f.png


BIN
root@10.179.115.141/static/img/banner_title@3x.9f7c2283.png


BIN
root@10.179.115.141/static/img/nav_logo@3x.f4009cf2.png


BIN
root@10.179.115.141/static/img/rabbit-logo.d25a6cc8.gif


BIN
root@10.179.115.141/static/img/thoth_logopattern.ed69b966.png


BIN
root@10.179.115.141/static/img/功能介绍_icon_数据中心未上线@3x.fee12a07.png


BIN
root@10.179.115.141/static/img/功能介绍_icon_自动化未上线@3x.c796d862.png


BIN
root@10.179.115.141/static/img/客服群二维码.02001b72.png


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
root@10.179.115.141/static/js/app.35b19942.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
root@10.179.115.141/static/js/chunk-1662883c.e670624e.js


+ 0 - 1
root@10.179.115.141/static/js/chunk-238a81e9.cfebf29b.js

@@ -1 +0,0 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-238a81e9"],{"26fc":function(t,s,a){t.exports=a.p+"static/img/404_cloud.0f4bc32b.png"},"8cdb":function(t,s,a){"use strict";a.r(s);var e=function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"wscn-http404-container"},[a("div",{staticClass:"wscn-http404"},[t._m(0),t._v(" "),a("div",{staticClass:"bullshit"},[a("div",{staticClass:"bullshit__oops"},[t._v("OOPS!")]),t._v(" "),t._m(1),t._v(" "),a("div",{staticClass:"bullshit__headline"},[t._v(t._s(t.message))]),t._v(" "),a("div",{staticClass:"bullshit__info"},[t._v("Please check that the URL you entered is correct, or click the button below to return to the homepage.")]),t._v(" "),a("a",{staticClass:"bullshit__return-home",attrs:{href:""}},[t._v("Back to home")])])])])},c=[function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"pic-404"},[e("img",{staticClass:"pic-404__parent",attrs:{src:a("a36b"),alt:"404"}}),t._v(" "),e("img",{staticClass:"pic-404__child left",attrs:{src:a("26fc"),alt:"404"}}),t._v(" "),e("img",{staticClass:"pic-404__child mid",attrs:{src:a("26fc"),alt:"404"}}),t._v(" "),e("img",{staticClass:"pic-404__child right",attrs:{src:a("26fc"),alt:"404"}})])},function(){var t=this,s=t.$createElement,a=t._self._c||s;return a("div",{staticClass:"bullshit__info"},[t._v("All rights reserved\n        "),a("a",{staticStyle:{color:"#20a0ff"},attrs:{href:"https://wallstreetcn.com",target:"_blank"}},[t._v("wallstreetcn")])])}],i={name:"Page404",computed:{message:function(){return"The webmaster said that you can not enter this page..."}}},l=i,n=(a("97ef"),a("2877")),r=Object(n["a"])(l,e,c,!1,null,"c095f994",null);s["default"]=r.exports},"97ef":function(t,s,a){"use strict";var e=a("b51e"),c=a.n(e);c.a},a36b:function(t,s,a){t.exports=a.p+"static/img/404.a57b6f31.png"},b51e:function(t,s,a){}}]);

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
root@10.179.115.141/static/js/chunk-29cb5352.1d16abfc.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
root@10.179.115.141/static/js/chunk-29d5594e.64ff3164.js


+ 0 - 1
root@10.179.115.141/static/js/chunk-2d0c76f4.6ce66a3a.js

@@ -1 +0,0 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0c76f4"],{5135:function(e,t,n){"use strict";n.r(t);var i=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",[n("iframe",{staticStyle:{width:"100%"},attrs:{src:e.envUrl,scrolling:"no",frameborder:"0",height:e.iframeHeight}})])},r=[],o=(n("7f7f"),{name:"ENV",data:function(){return{envUrl:"http://10.179.181.222:8866/"+this.$route.name,iframeHeight:"720px"}},mounted:function(){var e=window.innerHeight>document.body.clientHeight?window.innerHeight:document.body.clientHeight;this.iframeHeight=e+"px"}}),a=o,c=n("2877"),u=Object(c["a"])(a,i,r,!1,null,null,null);t["default"]=u.exports}}]);

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
root@10.179.115.141/static/js/chunk-2ea2d8c6.99b2d598.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
root@10.179.115.141/static/js/chunk-2ec82462.90397089.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
root@10.179.115.141/static/js/chunk-elementUI.fed7206f.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
root@10.179.115.141/static/js/chunk-libs.831cbdfa.js


BIN
src/assets/home_images/banner_title@2x.png


BIN
src/assets/home_images/banner_title@3x.png


BIN
src/assets/home_images/logo@2x.png


BIN
src/assets/home_images/nav_logo@3x.png


+ 26 - 0
src/icons/svg/功能介绍_icon_数据中心.svg

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 1024 1024" style="enable-background:new 0 0 1024 1024;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#406CFF;}
+	.st1{fill:#24D5F0;}
+</style>
+<g id="_x36_.17.功能区优化_x2B_banner换新">
+	<g id="_x31_" transform="translate(-244.000000, -111.000000)">
+		<g id="功能介绍_icon_数据中心" transform="translate(243.000000, 109.000000)">
+			<path id="路径" class="st0" d="M478,178.6v71.6c0,15.5,12.5,28,28,28s28-12.5,28-28v-71.6c0-15.5-12.5-28-28-28
+				S478,163.1,478,178.6z"/>
+			<path id="直线-11" class="st0" d="M366.4,721.5l-85.6,110.8c-9.5,12.2-7.2,29.8,5.1,39.3c12.2,9.5,29.8,7.2,39.3-5.1
+				l85.6-110.8c9.5-12.2,7.2-29.8-5.1-39.3C393.4,707,375.8,709.2,366.4,721.5z"/>
+			<path id="直线-11_1_" class="st0" d="M661.2,721.5l85.6,110.8c9.5,12.2,7.2,29.8-5.1,39.3c-12.2,9.5-29.8,7.2-39.3-5.1
+				l-85.6-110.8c-9.5-12.2-7.2-29.8,5.1-39.3C634.1,707,651.7,709.2,661.2,721.5z"/>
+			<path id="矩形" class="st0" d="M205,234.6h616c30.9,0,56,25.1,56,56v392c0,30.9-25.1,56-56,56H205c-30.9,0-56-25.1-56-56v-392
+				C149,259.7,174.1,234.6,205,234.6z M205,290.6v392h616v-392H205z"/>
+			<path id="路径-2" class="st1" d="M533.7,568.8c7.5,11.5,23.5,13.6,33.7,4.5l156.5-140c9.2-8.2,10-22.4,1.8-31.6
+				c-8.2-9.2-22.4-10-31.6-1.8L557,522.5l-76.9-118.1c-7.5-11.5-23.4-13.6-33.6-4.5l-144.3,128c-9.3,8.2-10.1,22.4-1.9,31.6
+				s22.4,10.1,31.6,1.9l124.9-110.7L533.7,568.8z"/>
+		</g>
+	</g>
+</g>
+</svg>

+ 23 - 0
src/icons/svg/功能介绍_icon_服务mock.svg

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 1024 1024" style="enable-background:new 0 0 1024 1024;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#406CFF;}
+	.st1{fill:#24D5F0;}
+</style>
+<g id="_x36_.17.功能区优化_x2B_banner换新">
+	<g id="_x31_" transform="translate(-472.000000, -111.000000)">
+		<g id="功能介绍_icon_服务mock" transform="translate(468.000000, 109.000000)">
+			<path id="矩形" class="st0" d="M220.1,206h213.8c22.1,0,40.1,17.9,40.1,40.1v213.8c0,22.1-17.9,40.1-40.1,40.1H220.1
+				c-22.1,0-40.1-17.9-40.1-40.1V246.1C180,223.9,197.9,206,220.1,206z M233.5,259.5v187.1h187.1V259.5H233.5z"/>
+			<path id="矩形_1_" class="st1" d="M684,178c92.8,0,168,75.2,168,168s-75.2,168-168,168s-168-75.2-168-168S591.2,178,684,178z
+				 M684,234c-61.9,0-112,50.1-112,112s50.1,112,112,112s112-50.1,112-112S745.9,234,684,234z"/>
+			<path id="矩形_2_" class="st0" d="M220.1,556h213.8c22.1,0,40.1,17.9,40.1,40.1v213.8c0,22.1-17.9,40.1-40.1,40.1H220.1
+				c-22.1,0-40.1-17.9-40.1-40.1V596.1C180,573.9,197.9,556,220.1,556z M233.5,609.5v187.1h187.1V609.5H233.5z"/>
+			<path id="矩形_3_" class="st0" d="M570.1,556h213.8c22.1,0,40.1,17.9,40.1,40.1v213.8c0,22.1-17.9,40.1-40.1,40.1H570.1
+				c-22.1,0-40.1-17.9-40.1-40.1V596.1C530,573.9,547.9,556,570.1,556z M583.5,609.5v187.1h187.1V609.5H583.5z"/>
+		</g>
+	</g>
+</g>
+</svg>

+ 27 - 0
src/icons/svg/功能介绍_icon_流程管控.svg

@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 1024 1024" style="enable-background:new 0 0 1024 1024;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#24D5F0;}
+	.st1{fill:#406CFF;}
+</style>
+<g id="_x36_.17.功能区优化_x2B_banner换新">
+	<g id="_x31_" transform="translate(-693.000000, -112.000000)">
+		<g id="功能介绍_icon_流程管控" transform="translate(693.000000, 109.000000)">
+			<g id="编组-4" transform="translate(0.000000, 3.000000)">
+				<path id="形状结合" class="st0" d="M491,519v-77h42v77h245c11.6,0,21,9.4,21,21v84h-42v-63H533v70h-42v-70H267v63h-42v-84
+					c0-11.6,9.4-21,21-21H491z"/>
+				<path id="矩形" class="st1" d="M400,176h224c30.9,0,56,23.7,56,52.9v132.2c0,29.2-25.1,52.9-56,52.9H400
+					c-30.9,0-56-23.7-56-52.9V228.9C344,199.7,369.1,176,400,176z M400,228.9v132.2h224V228.9H400z"/>
+				<path id="矩形_1_" class="st1" d="M176,652h112c23.2,0,42,18.8,42,42v112c0,23.2-18.8,42-42,42H176c-23.2,0-42-18.8-42-42V694
+					C134,670.8,152.8,652,176,652z M190,708v84h84v-84H190z"/>
+				<path id="矩形_2_" class="st1" d="M456,652h112c23.2,0,42,18.8,42,42v112c0,23.2-18.8,42-42,42H456c-23.2,0-42-18.8-42-42V694
+					C414,670.8,432.8,652,456,652z M470,708v84h84v-84H470z"/>
+				<path id="矩形_3_" class="st1" d="M736,652h112c23.2,0,42,18.8,42,42v112c0,23.2-18.8,42-42,42H736c-23.2,0-42-18.8-42-42V694
+					C694,670.8,712.8,652,736,652z M750,708v84h84v-84H750z"/>
+			</g>
+		</g>
+	</g>
+</g>
+</svg>

+ 31 - 0
src/icons/svg/功能介绍_icon_环境平台.svg

@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 1024 1024" style="enable-background:new 0 0 1024 1024;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#406CFF;}
+	.st1{fill:#24D5F0;}
+</style>
+<g id="_x36_.17.功能区优化_x2B_banner换新">
+	<g id="_x31_" transform="translate(-357.000000, -114.000000)">
+		<g id="功能介绍_icon_环境平台" transform="translate(356.000000, 109.000000)">
+			<g id="编组-2" transform="translate(1.000000, 5.000000)">
+				<path id="直线-10" class="st0" d="M316,837.5h392c15.5,0,28-12.5,28-28s-12.5-28-28-28H316c-15.5,0-28,12.5-28,28
+					S300.5,837.5,316,837.5z"/>
+				<path id="矩形" class="st0" d="M204,186.5h616c30.9,0,56,25.1,56,56v420c0,30.9-25.1,56-56,56H204c-30.9,0-56-25.1-56-56v-420
+					C148,211.6,173.1,186.5,204,186.5z M204,242.5v420h616v-420H204z"/>
+				<path id="路径" class="st1" d="M634.9,592.8H389.1c6.8-7.5,10.9-17.4,10.9-28.3c0-19.3-13-35.5-30.7-40.5l104.7-165.5
+					c6.7,14.1,21.2,23.9,37.9,23.9L407.2,548h209.6L512.1,382.5c16.7,0,31.1-9.8,37.9-23.9L654.7,524C637,529,624,545.2,624,564.5
+					C624,575.4,628.1,585.3,634.9,592.8L634.9,592.8z"/>
+				<path id="椭圆形" class="st1" d="M512,402.1c34,0,61.6-27.6,61.6-61.6S546,278.9,512,278.9s-61.6,27.6-61.6,61.6
+					S478,402.1,512,402.1z M512,362.9c-12.4,0-22.4-10-22.4-22.4s10-22.4,22.4-22.4c12.4,0,22.4,10,22.4,22.4S524.4,362.9,512,362.9
+					z"/>
+				<path id="椭圆形_1_" class="st1" d="M358,626.1c34,0,61.6-27.6,61.6-61.6S392,502.9,358,502.9s-61.6,27.6-61.6,61.6
+					S324,626.1,358,626.1z M358,586.9c-12.4,0-22.4-10-22.4-22.4s10-22.4,22.4-22.4s22.4,10,22.4,22.4S370.4,586.9,358,586.9z"/>
+				<path id="椭圆形_2_" class="st1" d="M666,626.1c34,0,61.6-27.6,61.6-61.6S700,502.9,666,502.9s-61.6,27.6-61.6,61.6
+					S632,626.1,666,626.1z M666,586.9c-12.4,0-22.4-10-22.4-22.4s10-22.4,22.4-22.4s22.4,10,22.4,22.4S678.4,586.9,666,586.9z"/>
+			</g>
+		</g>
+	</g>
+</g>
+</svg>

+ 25 - 0
src/icons/svg/功能介绍_icon_自动化.svg

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 1024 1024" style="enable-background:new 0 0 1024 1024;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#406CFF;}
+	.st1{fill:none;stroke:#24D5F0;stroke-width:47.6;stroke-linecap:round;}
+	.st2{fill:#24D5F0;}
+</style>
+<g id="_x36_.17.功能区优化_x2B_banner换新">
+	<g id="_x31_" transform="translate(-135.000000, -112.000000)">
+		<g id="功能介绍_icon_自动化" transform="translate(131.000000, 109.000000)">
+			<path id="形状结合" class="st0" d="M387.9,816c15.5,0,28,12.5,28,28s-12.5,28-28,28H271.2c-46.4,0-84-37.6-84-84V242
+				c0-46.4,37.6-84,84-84h434c46.4,0,84,37.6,84,84v177c0,15.5-12.5,28-28,28c-15.5,0-28-12.5-28-28V242c0-15.5-12.5-28-28-28h-434
+				c-15.5,0-28,12.5-28,28v546c0,15.5,12.5,28,28,28H387.9z M328.1,363.6c-15.5,0-28-12.5-28-28c0-15.5,12.5-28,28-28h281.8
+				c15.5,0,28,12.5,28,28c0,15.5-12.5,28-28,28H328.1z M328.1,489.6c-15.5,0-28-12.5-28-28c0-15.5,12.5-28,28-28h153.1
+				c15.5,0,28,12.5,28,28c0,15.5-12.5,28-28,28H328.1z"/>
+			<path id="形状" class="st1" d="M533.3,772.8c27.4,42.8,75.3,71.2,129.8,71.2l0,0c85.1,0,154-68.9,154-154 M788.2,600.1
+				c-28-38.8-73.5-64.1-125-64.1c-85.1,0-154,68.9-154,154"/>
+			<polygon id="多边形" class="st2" points="844.8,639 699.7,628.8 781,508.2 			"/>
+			<polygon id="多边形_1_" class="st2" points="481.5,741 626.7,751.2 545.3,871.8 			"/>
+		</g>
+	</g>
+</g>
+</svg>

+ 43 - 0
src/icons/svg/功能介绍_icon_虚拟硬件.svg

@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 22.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0)  -->
+<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+	 viewBox="0 0 1024 1024" style="enable-background:new 0 0 1024 1024;" xml:space="preserve">
+<style type="text/css">
+	.st0{fill:#24D5F0;}
+	.st1{fill:#406CFF;}
+</style>
+<g id="_x36_.17.功能区优化_x2B_banner换新">
+	<g id="_x31_" transform="translate(-581.000000, -109.000000)">
+		<g id="功能介绍_icon_虚拟硬件" transform="translate(581.000000, 109.000000)">
+			<path id="直线-12" class="st0" d="M377.6,162v70c0,12.4,10,22.4,22.4,22.4s22.4-10,22.4-22.4v-70c0-12.4-10-22.4-22.4-22.4
+				S377.6,149.6,377.6,162z"/>
+			<path id="直线-12_1_" class="st0" d="M489.6,162v70c0,12.4,10,22.4,22.4,22.4c12.4,0,22.4-10,22.4-22.4v-70
+				c0-12.4-10-22.4-22.4-22.4C499.6,139.6,489.6,149.6,489.6,162z"/>
+			<path id="直线-12_2_" class="st0" d="M601.6,162v70c0,12.4,10,22.4,22.4,22.4s22.4-10,22.4-22.4v-70c0-12.4-10-22.4-22.4-22.4
+				S601.6,149.6,601.6,162z"/>
+			<path id="直线-12_3_" class="st0" d="M169,429.4h70c12.4,0,22.4-10,22.4-22.4c0-12.4-10-22.4-22.4-22.4h-70
+				c-12.4,0-22.4,10-22.4,22.4C146.6,419.4,156.6,429.4,169,429.4z"/>
+			<path id="直线-12_4_" class="st0" d="M169,541.4h70c12.4,0,22.4-10,22.4-22.4c0-12.4-10-22.4-22.4-22.4h-70
+				c-12.4,0-22.4,10-22.4,22.4C146.6,531.4,156.6,541.4,169,541.4z"/>
+			<path id="直线-12_5_" class="st0" d="M169,653.4h70c12.4,0,22.4-10,22.4-22.4c0-12.4-10-22.4-22.4-22.4h-70
+				c-12.4,0-22.4,10-22.4,22.4C146.6,643.4,156.6,653.4,169,653.4z"/>
+			<path id="直线-12_6_" class="st0" d="M785,429.4h70c12.4,0,22.4-10,22.4-22.4c0-12.4-10-22.4-22.4-22.4h-70
+				c-12.4,0-22.4,10-22.4,22.4C762.6,419.4,772.6,429.4,785,429.4z"/>
+			<path id="直线-12_7_" class="st0" d="M785,541.4h70c12.4,0,22.4-10,22.4-22.4c0-12.4-10-22.4-22.4-22.4h-70
+				c-12.4,0-22.4,10-22.4,22.4C762.6,531.4,772.6,541.4,785,541.4z"/>
+			<path id="直线-12_8_" class="st0" d="M785,653.4h70c12.4,0,22.4-10,22.4-22.4c0-12.4-10-22.4-22.4-22.4h-70
+				c-12.4,0-22.4,10-22.4,22.4C762.6,643.4,772.6,653.4,785,653.4z"/>
+			<path id="直线-12_9_" class="st0" d="M377.6,792v70c0,12.4,10,22.4,22.4,22.4s22.4-10,22.4-22.4v-70c0-12.4-10-22.4-22.4-22.4
+				S377.6,779.6,377.6,792z"/>
+			<path id="直线-12_10_" class="st0" d="M489.6,792v70c0,12.4,10,22.4,22.4,22.4c12.4,0,22.4-10,22.4-22.4v-70
+				c0-12.4-10-22.4-22.4-22.4C499.6,769.6,489.6,779.6,489.6,792z"/>
+			<path id="直线-12_11_" class="st0" d="M601.6,792v70c0,12.4,10,22.4,22.4,22.4s22.4-10,22.4-22.4v-70c0-12.4-10-22.4-22.4-22.4
+				S601.6,779.6,601.6,792z"/>
+			<path id="矩形" class="st1" d="M260,204h504c30.9,0,56,25.1,56,56v504c0,30.9-25.1,56-56,56H260c-30.9,0-56-25.1-56-56V260
+				C204,229.1,229.1,204,260,204z M260,260v504h504V260H260z"/>
+			<path id="矩形_1_" class="st1" d="M386,358h252c15.5,0,28,12.5,28,28v252c0,15.5-12.5,28-28,28H386c-15.5,0-28-12.5-28-28V386
+				C358,370.5,370.5,358,386,358z M408.4,408.4v207.2h207.2V408.4H408.4z"/>
+		</g>
+	</g>
+</g>
+</svg>

+ 1 - 1
src/layout/components/Sidebar/Logo.vue

@@ -26,7 +26,7 @@ export default {
   },
   data() {
     return {
-      title: '     ',
+      title: '质惠平台',
       logo: logoUrl
     }
   }

+ 12 - 3
src/layout/components/Sidebar/index.vue

@@ -16,12 +16,13 @@
         <sidebar-item v-for="route in routes" :key="route.path" :item="route" :base-path="route.path" />
         <el-submenu index="100">
           <template slot="title">
-            <i class="el-icon-menu" />
+            <svg-icon icon-class="data" />
             <span slot="title" @mouseover="getGlobalInterface">数据中心</span>
           </template>
+          <el-menu-item index="/data/upload-file">jar包管理</el-menu-item>
           <el-submenu v-for="(myMenu,index) in menu" :key="myMenu.menuName" :index="'100-' + index">
             <template slot="title">{{ myMenu.menuName }}</template>
-            <el-menu-item v-for="(subMenu,index2) in myMenu.subMenus" :key="subMenu.path" :index="'100-' + index + '-' + index2" @click="handleClick(subMenu)">{{ subMenu.subMenuName }}</el-menu-item>
+            <el-menu-item v-for="(subMenu,index2) in myMenu.subMenus" :key="subMenu.path" :index="getIndex(index,index2)" @click="handleClick(subMenu)">{{ subMenu.subMenuName }}</el-menu-item>
           </el-submenu>
         </el-submenu>
       </el-menu>
@@ -71,7 +72,8 @@ export default {
   methods: {
     handleSelect(key, keypath) {
       switch (key) {
-        case '100':
+        case '/data/upload-file':
+          this.$router.push({ name: 'jar包管理' })
           break
       }
     },
@@ -83,7 +85,14 @@ export default {
       getGlobalInterface()
         .then(res => {
           this.$store.dispatch('data/setMenu', res.data)
+          this.$store.dispatch('data/setSubMenu', res.data[0].subMenus[0])
         })
+    },
+    getIndex(index, index2) {
+      if (index + index2 === 0) {
+        return '/data/item'
+      }
+      return '100-' + index + '-' + index2
     }
   }
 }

+ 34 - 11
src/router/index.js

@@ -213,49 +213,50 @@ export const constantRoutes = [
         path: 'env',
         name: 'env',
         component: () => import('@/views/env/index.vue'),
-        meta: { title: '环境管理', icon: 'env' }
+        meta: { title: '环境管理' }
+
       },
       {
         path: 'businessline',
         name: 'businessline',
         component: () => import('@/views/env/index.vue'),
-        meta: { title: '业务线管理', icon: 'businessline' }
+        meta: { title: '业务线管理' }
       },
       {
         path: 'whitelist',
         name: 'whitelist',
         component: () => import('@/views/env/index.vue'),
-        meta: { title: '白名单管理', icon: 'whitelist' }
+        meta: { title: '白名单管理' }
       },
       {
         path: 'module',
         name: 'module',
         component: () => import('@/views/env/index.vue'),
-        meta: { title: '模块管理', icon: 'module' }
+        meta: { title: '模块管理' }
       },
       {
         path: 'group',
         name: 'group',
         component: () => import('@/views/env/index.vue'),
-        meta: { title: 'Group管理', icon: 'group' }
+        meta: { title: 'Group管理' }
       },
       {
         path: 'topic',
         name: 'topic',
         component: () => import('@/views/env/index.vue'),
-        meta: { title: 'Topic管理', icon: 'topic' }
+        meta: { title: 'Topic管理' }
       },
       {
         path: 'mq',
         name: 'mq',
         component: () => import('@/views/env/index.vue'),
-        meta: { title: 'MQ管理', icon: 'MQ' }
+        meta: { title: 'MQ管理' }
       },
       {
         path: 'data',
         name: 'data',
         component: () => import('@/views/env/index.vue'),
-        meta: { title: '数据统计', icon: 'data' }
+        meta: { title: '数据统计' }
       }
     ]
   },
@@ -265,13 +266,13 @@ export const constantRoutes = [
     component: Layout,
     redirect: '/mock/interface',
     name: 'Mock',
-    meta: { title: 'Mock服务', icon: 'example' },
+    meta: { title: 'Mock服务', icon: 'MQ' },
     children: [
       {
         path: 'interface',
         name: 'Interface',
         component: () => import('@/views/mock/interface'),
-        meta: { title: 'dubbo mock', icon: 'interface' }
+        meta: { title: 'dubbo mock' }
       },
       {
         path: 'interface/:rule',
@@ -284,7 +285,7 @@ export const constantRoutes = [
         path: 'httpmock',
         name: 'httpmock',
         component: () => import('@/views/mock/httpmock'),
-        meta: { title: 'http mock', icon: 'rule' }
+        meta: { title: 'http mock' }
       },
       {
         path: 'httpmock/:httprule',
@@ -295,6 +296,28 @@ export const constantRoutes = [
       }
     ]
   },
+  {
+    path: '/data',
+    component: Layout,
+    redirect: '/data/upload-file',
+    name: '数据中心',
+    hidden: true,
+    meta: { title: '数据中心', icon: 'examlpe' },
+    children: [
+      {
+        path: 'upload-file',
+        name: 'jar包管理',
+        component: () => import('@/views/data/upload.vue'),
+        meta: { title: 'jar包管理' }
+      },
+      {
+        path: 'item',
+        name: '动态数据',
+        component: () => import('@/views/data/index.vue'),
+        meta: { title: '动态数据' }
+      }
+    ]
+  },
   { path: '*', redirect: '/404', hidden: true }
 
 ]

+ 1 - 1
src/settings.js

@@ -1,6 +1,6 @@
 module.exports = {
 
-  title: '托特综合工具平台',
+  title: '质惠综合工具平台',
 
   /**
    * @type {boolean} true | false

+ 1 - 1
src/views/dashboard/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="dashboard-container">
-    <div class="dashboard-text">欢迎来到托特平台</div>
+    <div class="dashboard-text">欢迎来到质惠平台</div>
   </div>
 </template>
 

+ 78 - 7
src/views/data/index.vue

@@ -4,17 +4,29 @@
       <div slot="header">
         <span>{{ subMenu.subMenuName }}</span>
       </div>
-      <el-form label-width="80px" wid>
-        <el-form-item v-for="(item,index) in subMenu.widgets" :key="index" :label="item.name">
-          <el-input v-if="item.widgetType === 'INPUT'" v-model="data[item.name]" :place-holder="item.placeHolder" />
-          <el-select v-if="item.widgetType === 'SELECT'" v-model="data[item.name]" :place-holder="item.placeHolder">
+      <el-form label-width="100px" :rules="rules">
+        <el-form-item v-for="(item,index) in widgets" :key="index" :label="item.label" :prop="item.name">
+          <el-input v-if="item.widgetType === 'INPUT'" v-model="data[item.name]" :placeholder="item.placeHolder" />
+          <el-select v-if="item.widgetType === 'SELECT'" v-model="data[item.name]" :placeholder="item.placeHolder" @change="handleChange(item,data[item.name])">
             <el-option
               v-for="option in item.options"
-              :key="option.value"
+              :key="option.displayName"
               :label="option.displayName"
               :value="option.value"
             />
           </el-select>
+          <div v-for="(subItem,subIndex) in item.showWidgets" :key="subIndex">
+            {{ subItem.label }}
+            <el-input v-if="subItem.widgetType === 'INPUT'" v-model="data[subItem.name]" :placeholder="subItem.placeHolder" />
+            <el-select v-if="subItem.widgetType === 'SELECT'" v-model="data[subItem.name]" :placeholder="subItem.placeHolder">
+              <el-option
+                v-for="option in subItem.options"
+                :key="option.displayName"
+                :label="option.displayName"
+                :value="option.value"
+              />
+            </el-select>
+          </div>
         </el-form-item>
         <el-form-item>
           <el-button type="primary" @click="onSubmit">确定</el-button>
@@ -51,8 +63,11 @@ export default {
   name: 'DataCenter',
   data() {
     return {
-      data: {
-      },
+      showWidgetsNumber: 0,
+      rules: {},
+      data: {},
+      widgets: [],
+      hidenWidgets: [],
       result: null
     }
   },
@@ -63,11 +78,47 @@ export default {
   },
   watch: {
     subMenu(newValue, oldValue) {
+      this.widgets = []
+      this.hidenWidgets = []
+      for (const i in newValue.widgets) {
+        if (newValue.widgets[i].widgetId === 0) {
+          this.widgets.push(newValue.widgets[i])
+        } else {
+          this.hidenWidgets.push(newValue.widgets[i])
+        }
+      }
       this.data = {}
+      this.result = ''
+      // this.rules = {}
+      // for (var i in newValue.widgets) {
+      //   console.log(i)
+      //   if (newValue.widgets[i].widgetType === 'INPUT') {
+      //     this.rules[newValue.widgets[i].name] = [{ required: true, message: '请输入' + newValue.widgets[i].label, trigger: 'blur' }]
+      //   } else if (newValue.widgets[i].widgetType === 'SELECT') {
+      //     this.rules[newValue.widgets[i].name] = [{ required: true, message: '请选择' + newValue.widgets[i].label, trigger: 'change' }]
+      //   }
+      // }
+      // console.log(this.rules)
     }
   },
   methods: {
     postForm() {
+      if (JSON.stringify(this.data) === '{}') {
+        this.$message.warning('参数不能为空')
+        return
+      }
+      var arr = []
+      for (const i in this.data) {
+        if (this.data[i] === null || this.data[i] === '') {
+          this.$message.warning('参数不能为空')
+          return
+        }
+        arr.push(i)
+      }
+      if (arr.length < this.widgets.length + this.showWidgetsNumber) {
+        this.$message.warning('参数不能为空')
+        return
+      }
       postForm(this.subMenu.path, this.data)
         .then(res => {
           this.result = res.result
@@ -78,6 +129,26 @@ export default {
     },
     reset() {
       this.data = {}
+    },
+    handleChange(item, value) {
+      if (!(typeof item.showWidgets === 'undefined' || item.showWidgets === null)) {
+        this.showWidgetsNumber -= item.showWidgets.length
+      }
+      let arr = []
+      for (const i in item.options) {
+        if (item.options[i].value === value && item.options[i].cascadeWidget !== null) {
+          arr = Object.keys(item.options[i].cascadeWidget)
+        }
+      }
+      item.showWidgets = []
+      for (const i in arr) {
+        for (const j in this.hidenWidgets) {
+          if (arr[i] === (this.hidenWidgets[j].widgetId + '')) {
+            item.showWidgets.push(this.hidenWidgets[j])
+          }
+        }
+      }
+      this.showWidgetsNumber += item.showWidgets.length
     }
   }
 }

+ 60 - 0
src/views/data/upload.vue

@@ -0,0 +1,60 @@
+<template>
+  <div>
+    <el-card shadow>
+      <div slot="header">
+        <span>jar包上传</span>
+      </div>
+      <el-upload
+        ref="upload"
+        action="http://10.179.17.100:10086/uploadFile"
+        name="file"
+        :on-preview="handlePreview"
+        :on-remove="handleRemove"
+        :file-list="fileList"
+        :auto-upload="false"
+      >
+        <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
+        <el-tooltip class="item" effect="light" content="jar包上传之后数据中心会进行jar包解析自动生成前端表单" placement="top-start">
+          <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button>
+        </el-tooltip>
+        <div slot="tip" class="el-upload__tip">只能上传jar文件</div>
+      </el-upload>
+    </el-card>
+    <el-card shadow>
+      <div slot="header">
+        <i class="el-icon-question" />
+        <span>帮助</span>
+      </div>
+      <el-link type="primary" href="http://wiki.intra.xiaojukeji.com/pages/viewpage.action?pageId=200436665">数据中心简介</el-link>
+      <el-divider direction="vertical" />
+      <el-link type="primary" href="http://wiki.intra.xiaojukeji.com/pages/viewpage.action?pageId=223349306">接入文档</el-link>
+    </el-card>
+  </div>
+</template>
+
+<style scoped>
+.el-card {
+  margin: 2%;
+}
+</style>
+
+<script>
+export default {
+  data() {
+    return {
+      fileList: []
+    }
+  },
+  methods: {
+    submitUpload() {
+      this.$refs.upload.submit()
+    },
+    handleRemove(file, fileList) {
+      console.log(file, fileList)
+    },
+    handlePreview(file) {
+      console.log(file)
+    }
+  }
+}
+</script>

+ 57 - 30
src/views/home/index.vue

@@ -19,7 +19,8 @@
         <svg-icon icon-class="yonghu" />
         <el-dropdown style="color: #ffffff" @command="handleCommand">
           <span class="el-dropdown-link">
-            {{ username }}<i class="el-icon-arrow-down el-icon--right" />
+            {{ username }}
+            <i class="el-icon-arrow-down el-icon--right" />
           </span>
           <el-dropdown-menu slot="dropdown">
             <el-dropdown-item command="a">Log Out</el-dropdown-item>
@@ -28,14 +29,35 @@
       </div>
     </el-menu>
     <div style="color: #FFFF">
-      <div class="div-introduction"><img class="image-title" style="width: 470px" src="@/assets/home_images/banner_title@3x.png"><br><span style="font-size: 17pt">打造让每个研发测试都离不开的一站式综合工具平台</span></div>
-      <img class="img-arrow" style="width: 30px" src="@/assets/home_images/banner_icon_arrow@3x.png">
+      <div class="div-introduction">
+        <img
+          class="image-title"
+          style="width: 470px"
+          src="@/assets/home_images/banner_title@2x.png"
+        >
+        <br>
+        <span style="font-size: 17pt">一站式质量效率平台,普惠你的工作</span>
+      </div>
+      <img
+        class="img-arrow"
+        style="width: 30px"
+        src="@/assets/home_images/banner_icon_arrow@3x.png"
+      >
       <img style="width: 100%;z-index: -1;" src="@/assets/home_images/banner_pic@3x.png">
     </div>
     <div class="div-main" style="height: 600pt;width 100%;text-align: center;">
       <div style="font-size: 21pt;margin-top: 54pt;color: #333333;">功能介绍</div>
-      <el-card disabled style="margin-left: 0;margin-top: 42pt" shadow="hover" @click.native="handleSelect('1')">
-        <img class="image-module-logo" src="@/assets/home_images/功能介绍_icon_环境平台@3x.png" fit="contain">
+      <el-card
+        disabled
+        style="margin-left: 0;margin-top: 42pt"
+        shadow="hover"
+        @click.native="handleSelect('1')"
+      >
+        <img
+          class="image-module-logo"
+          src="@/assets/home_images/功能介绍_icon_环境平台@3x.png"
+          fit="contain"
+        >
         <div class="div-title">环境平台</div>
         <div class="div-module-introduction">全面综合的个性化环境服务</div>
       </el-card>
@@ -98,7 +120,7 @@
 }
 .logo {
   position: absolute;
-  width: 100px;
+  width: 90px;
   left: 7.8%;
   top: 18%;
 }
@@ -111,7 +133,7 @@ div.div-login {
   top: 22%;
   right: 8.3%;
 }
-div.div-introduction{
+div.div-introduction {
   position: absolute;
   font-size: 37pt;
   top: 35%;
@@ -127,7 +149,7 @@ div.div-footer1,
 div.div-footer2 {
   position: absolute;
   font-weight: bold;
-  color: #FFFFFF;
+  color: #ffffff;
   font-size: 13.5pt;
 }
 div.div-footer1 > span {
@@ -135,7 +157,7 @@ div.div-footer1 > span {
   display: inline-block;
   font-size: 10.5pt;
   font-weight: normal;
-  color: #FFFFFF;
+  color: #ffffff;
 }
 div.div-footer2 > span {
   margin-bottom: 10px;
@@ -143,7 +165,7 @@ div.div-footer2 > span {
   width: 30%;
   font-size: 10.5pt;
   font-weight: normal;
-  color: #FFFFFF;
+  color: #ffffff;
 }
 .el-menu {
   border: none;
@@ -156,11 +178,11 @@ div.div-footer2 > span {
   height: 100%;
 }
 .is-active {
-  color: #0FE3FF!important;
-  border-color: #0FE3FF!important;
+  color: #0fe3ff !important;
+  border-color: #0fe3ff !important;
 }
 .el-menu-item:hover {
-  color: #0FE3FF!important;
+  color: #0fe3ff !important;
   background-color: transparent !important;
 }
 .float-menu-home {
@@ -196,7 +218,7 @@ div.div-module-introduction {
   color: #999999;
   margin-top: 7.5pt;
 }
-.el-card:hover{
+.el-card:hover {
   cursor: pointer;
 }
 .el-card.expect:hover {
@@ -206,41 +228,42 @@ div.div-module-introduction {
 
 <style scoped>
 img.img-arrow {
-    animation: arrow 1.5s infinite ease-in-out;
-    -webkit-animation: arrow 1.5s infinite ease-in-out;
+  animation: arrow 1.5s infinite ease-in-out;
+  -webkit-animation: arrow 1.5s infinite ease-in-out;
 }
 @keyframes arrow {
   0% {
-  opacity:0;
-  -webkit-transform:translate(0, 0px)
+    opacity: 0;
+    -webkit-transform: translate(0, 0px);
   }
   50% {
-  opacity:1;
-  -webkit-transform:translate(0, -5px)
+    opacity: 1;
+    -webkit-transform: translate(0, -5px);
   }
   100% {
-  opacity:0;
-  -webkit-transform:translate(0, -10px)
+    opacity: 0;
+    -webkit-transform: translate(0, -10px);
   }
 }
 @-webkit-keyframes arrow {
   0% {
-  opacity:0;
-  -webkit-transform:translate(0, 0px)
+    opacity: 0;
+    -webkit-transform: translate(0, 0px);
   }
   50% {
-  opacity:1;
-  -webkit-transform:translate(0, -5px)
+    opacity: 1;
+    -webkit-transform: translate(0, -5px);
   }
   100% {
-  opacity:0;
-  -webkit-transform:translate(0, -10px)
+    opacity: 0;
+    -webkit-transform: translate(0, -10px);
   }
 }
 </style>
 
 <script>
 import FloatMenu from './floatMenu'
+import { getGlobalInterface } from '@/api/data.js'
 
 export default {
   components: {
@@ -271,14 +294,18 @@ export default {
         }
       })()
     }
+    getGlobalInterface().then(res => {
+      this.$store.dispatch('data/setMenu', res.data)
+      this.$store.dispatch('data/setSubMenu', res.data[0].subMenus[0])
+    })
   },
   methods: {
     handleSelect(key, keyPath) {
       switch (key) {
-        case '1' :
+        case '1':
           this.$router.push({ name: '环境' })
           break
-        case '2' :
+        case '2':
           this.$router.push({ name: 'Mock' })
           break
         case '3':

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.