wt %!s(int64=3) %!d(string=hai) anos
pai
achega
f487f2f3ab
Modificáronse 67 ficheiros con 992 adicións e 879 borrados
  1. BIN=BIN
      deviceManager.zip
  2. BIN=BIN
      deviceManager/favicon.ico
  3. 0 210
      deviceManager/html/ie.html
  4. 0 181
      deviceManager/index.html
  5. 0 2
      deviceManager/robots.txt
  6. 0 0
      deviceManager/static/css/app.43274e33.css
  7. 0 0
      deviceManager/static/css/chunk-1d963824.9233a1d8.css
  8. 0 1
      deviceManager/static/css/chunk-2d1d87f5.f4f45be1.css
  9. 0 0
      deviceManager/static/css/chunk-4b5668c0.2cbded2b.css
  10. 0 0
      deviceManager/static/css/chunk-54d46b3c.90f0c9a0.css
  11. 0 1
      deviceManager/static/css/chunk-58e08142.4f216fb8.css
  12. 0 1
      deviceManager/static/css/chunk-60a3932e.38cf5e73.css
  13. 0 1
      deviceManager/static/css/chunk-6a3a862b.02c39c52.css
  14. 0 4
      deviceManager/static/css/chunk-7e10f382.84f98409.css
  15. 0 15
      deviceManager/static/css/chunk-libs.ea078ece.css
  16. BIN=BIN
      deviceManager/static/fonts/element-icons.535877f5.woff
  17. BIN=BIN
      deviceManager/static/fonts/element-icons.732389de.ttf
  18. BIN=BIN
      deviceManager/static/img/1.8284d1cf.gif
  19. BIN=BIN
      deviceManager/static/img/401.089007e7.gif
  20. BIN=BIN
      deviceManager/static/img/404.a57b6f31.png
  21. BIN=BIN
      deviceManager/static/img/404_cloud.0f4bc32b.png
  22. BIN=BIN
      deviceManager/static/img/bg.1a7b14da.png
  23. 0 39
      deviceManager/static/img/dark.412ca67e.svg
  24. 0 39
      deviceManager/static/img/light.4183aad0.svg
  25. BIN=BIN
      deviceManager/static/img/logo-b.fd92c04e.png
  26. BIN=BIN
      deviceManager/static/img/logo.847312f6.png
  27. 0 0
      deviceManager/static/js/app.d289ab42.js
  28. 0 0
      deviceManager/static/js/chunk-1d963824.7aabfab6.js
  29. 0 0
      deviceManager/static/js/chunk-2d0b2b28.9ffc10ea.js
  30. 0 0
      deviceManager/static/js/chunk-2d0e2366.68f2ed78.js
  31. 0 1
      deviceManager/static/js/chunk-2d0f012d.1bde8e38.js
  32. 0 1
      deviceManager/static/js/chunk-2d1d87f5.ece9ce13.js
  33. 0 1
      deviceManager/static/js/chunk-4b5668c0.9debb8a0.js
  34. 0 0
      deviceManager/static/js/chunk-54d46b3c.2efbbd92.js
  35. 0 0
      deviceManager/static/js/chunk-58e08142.20141459.js
  36. 0 0
      deviceManager/static/js/chunk-60a3932e.5c747d2e.js
  37. 0 0
      deviceManager/static/js/chunk-6a3a862b.0fb59377.js
  38. 0 0
      deviceManager/static/js/chunk-7e10f382.480481c1.js
  39. 0 0
      deviceManager/static/js/chunk-elementUI.7ae3ef1a.js
  40. 0 0
      deviceManager/static/js/chunk-libs.b64e9255.js
  41. 8 8
      src/views/business/OM/eventCenter/alarm/index.vue
  42. 8 8
      src/views/business/OM/eventCenter/event/index.vue
  43. 8 8
      src/views/business/OM/eventCenter/hiddenDanger/index.vue
  44. 9 8
      src/views/business/OM/workMange/index.vue
  45. 25 15
      src/views/business/buildMange/building/index.vue
  46. 11 11
      src/views/business/buildMange/floor/index.vue
  47. 33 25
      src/views/business/buildMange/room/index.vue
  48. 21 11
      src/views/business/deviceMange/deviceApi/index.vue
  49. 8 8
      src/views/business/deviceMange/deviceList/index.vue
  50. 10 10
      src/views/business/deviceMange/devicePassageWay/index.vue
  51. 8 8
      src/views/business/deviceMange/deviceType/index.vue
  52. 26 26
      src/views/business/fireInternet/deviceMonitoring/SSMonitoring/index.vue
  53. 26 26
      src/views/business/fireInternet/deviceMonitoring/fireMonitoring/index.vue
  54. 30 24
      src/views/business/fireInternet/deviceMonitoring/waterMonitoring/device/index.vue
  55. 27 27
      src/views/business/fireInternet/deviceMonitoring/waterMonitoring/offLine/index.vue
  56. 26 26
      src/views/business/fireInternet/fireAlarm/fireMonitoring/index.vue
  57. 27 27
      src/views/business/fireInternet/fireAlarm/waterAlarm/index.vue
  58. 28 28
      src/views/business/fireInternet/hiddenDanger/index.vue
  59. 12 12
      src/views/business/propertyMange/index.vue
  60. 3 3
      src/views/components/fireInternetInfo/index1.vue
  61. 1 1
      src/views/components/index/index5.vue
  62. 31 30
      src/views/index.vue
  63. 1 1
      src/views/monitor/logininfor/index.vue
  64. 11 15
      src/views/system/product/index.vue
  65. 4 0
      src/views/system/role/index.vue
  66. 571 0
      src/views/system/security/index.vue
  67. 19 16
      src/views/system/user/index.vue

BIN=BIN
deviceManager.zip


BIN=BIN
deviceManager/favicon.ico


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 210
deviceManager/html/ie.html


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 181
deviceManager/index.html


+ 0 - 2
deviceManager/robots.txt

@@ -1,2 +0,0 @@
-User-agent: *
-Disallow: /

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
deviceManager/static/css/app.43274e33.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
deviceManager/static/css/chunk-1d963824.9233a1d8.css


+ 0 - 1
deviceManager/static/css/chunk-2d1d87f5.f4f45be1.css

@@ -1 +0,0 @@
-.errPage-container[data-v-0e5c12bd]{width:800px;max-width:100%;margin:100px auto}.errPage-container .pan-back-btn[data-v-0e5c12bd]{background:#008489;color:#fff;border:none!important}.errPage-container .pan-gif[data-v-0e5c12bd]{margin:0 auto;display:block}.errPage-container .pan-img[data-v-0e5c12bd]{display:block;margin:0 auto;width:100%}.errPage-container .text-jumbo[data-v-0e5c12bd]{font-size:60px;font-weight:700;color:#484848}.errPage-container .list-unstyled[data-v-0e5c12bd]{font-size:14px}.errPage-container .list-unstyled li[data-v-0e5c12bd]{padding-bottom:5px}.errPage-container .list-unstyled a[data-v-0e5c12bd]{color:#008489;text-decoration:none}.errPage-container .list-unstyled a[data-v-0e5c12bd]:hover{text-decoration:underline}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
deviceManager/static/css/chunk-4b5668c0.2cbded2b.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
deviceManager/static/css/chunk-54d46b3c.90f0c9a0.css


+ 0 - 1
deviceManager/static/css/chunk-58e08142.4f216fb8.css

@@ -1 +0,0 @@
-.user-info-head[data-v-20a6c9d6]{position:relative;display:inline-block;height:120px}.user-info-head[data-v-20a6c9d6]:hover:after{content:"+";position:absolute;left:0;right:0;top:0;bottom:0;color:#eee;background:rgba(0,0,0,.5);font-size:24px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;cursor:pointer;line-height:110px;border-radius:50%}

+ 0 - 1
deviceManager/static/css/chunk-60a3932e.38cf5e73.css

@@ -1 +0,0 @@
-.bg[data-v-402516f8]{width:100%;height:100%;overflow:hidden;position:fixed;top:0;left:0;z-index:-1}.bg .bgimg[data-v-402516f8]{width:100%;height:100%;position:absolute;top:0;left:0;z-index:-1}.logo[data-v-402516f8]{width:100%;position:fixed;top:0}.logo img[data-v-402516f8]{width:152px;margin:10px 2rem 0 20px;vertical-align:middle}.logo .logo_txt[data-v-402516f8]{font-size:1.5rem;color:#fff;vertical-align:middle;letter-spacing:4px}.login[data-v-402516f8]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;background-size:cover}.title[data-v-402516f8]{margin:0 auto 30px auto;text-align:left;color:#000;font-size:20px}.title span[data-v-402516f8]{margin-left:10px;opacity:.25}.login-form[data-v-402516f8]{border-radius:6px;background:#fff;width:456px;padding:63px 35px}.login-form .el-input[data-v-402516f8]{height:40px;font-size:16px!important}.login-form .el-input input[data-v-402516f8]{height:40px}.login-form .input-icon[data-v-402516f8]{height:39px;width:14px;margin-left:2px}.login-tip[data-v-402516f8]{font-size:13px;text-align:center;color:#bfbfbf}.login-code[data-v-402516f8]{width:33%;height:38px;float:right}.login-code img[data-v-402516f8]{cursor:pointer;vertical-align:middle}.el-login-footer[data-v-402516f8]{height:40px;line-height:40px;position:fixed;bottom:0;width:100%;text-align:center;color:#fff;font-family:Arial;font-size:12px;letter-spacing:1px}.login-code-img[data-v-402516f8]{height:38px}[data-v-402516f8] .el-input__inner{height:36px!important;line-height:36px!important}

+ 0 - 1
deviceManager/static/css/chunk-6a3a862b.02c39c52.css

@@ -1 +0,0 @@
-.register{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:100%;background-size:cover}.title{margin:0 auto 30px auto;text-align:center;color:#707070}.register-form{border-radius:6px;background:#fff;width:400px;padding:25px 25px 5px 25px}.register-form .el-input,.register-form .el-input input{height:38px}.register-form .input-icon{height:39px;width:14px;margin-left:2px}.register-tip{font-size:13px;text-align:center;color:#bfbfbf}.register-code{width:33%;height:38px;float:right}.register-code img{cursor:pointer;vertical-align:middle}.el-register-footer{height:40px;line-height:40px;position:fixed;bottom:0;width:100%;text-align:center;color:#fff;font-family:Arial;font-size:12px;letter-spacing:1px}.register-code-img{height:38px}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 4
deviceManager/static/css/chunk-7e10f382.84f98409.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 15
deviceManager/static/css/chunk-libs.ea078ece.css


BIN=BIN
deviceManager/static/fonts/element-icons.535877f5.woff


BIN=BIN
deviceManager/static/fonts/element-icons.732389de.ttf


BIN=BIN
deviceManager/static/img/1.8284d1cf.gif


BIN=BIN
deviceManager/static/img/401.089007e7.gif


BIN=BIN
deviceManager/static/img/404.a57b6f31.png


BIN=BIN
deviceManager/static/img/404_cloud.0f4bc32b.png


BIN=BIN
deviceManager/static/img/bg.1a7b14da.png


+ 0 - 39
deviceManager/static/img/dark.412ca67e.svg

@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<svg width="52px" height="45px" viewBox="0 0 52 45" version="1.1" 
-    xmlns="http://www.w3.org/2000/svg" 
-    xmlns:xlink="http://www.w3.org/1999/xlink">
-    <defs>
-        <filter x="-9.4%" y="-6.2%" width="118.8%" height="122.5%" filterUnits="objectBoundingBox" id="filter-1">
-            <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
-            <feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
-            <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.15 0" type="matrix" in="shadowBlurOuter1" result="shadowMatrixOuter1"></feColorMatrix>
-            <feMerge>
-                <feMergeNode in="shadowMatrixOuter1"></feMergeNode>
-                <feMergeNode in="SourceGraphic"></feMergeNode>
-            </feMerge>
-        </filter>
-        <rect id="path-2" x="0" y="0" width="48" height="40" rx="4"></rect>
-        <filter x="-4.2%" y="-2.5%" width="108.3%" height="110.0%" filterUnits="objectBoundingBox" id="filter-4">
-            <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
-            <feGaussianBlur stdDeviation="0.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
-            <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.1 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
-        </filter>
-    </defs>
-    <g id="配置面板" width="48" height="40" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
-        <g id="setting-copy-2" width="48" height="40" transform="translate(-1190.000000, -136.000000)">
-            <g id="Group-8" width="48" height="40" transform="translate(1167.000000, 0.000000)">
-                <g id="Group-5-Copy-5" filter="url(#filter-1)" transform="translate(25.000000, 137.000000)">
-                    <mask id="mask-3" fill="white">
-                        <use xlink:href="#path-2"></use>
-                    </mask>
-                    <g id="Rectangle-18">
-                        <use fill="black" fill-opacity="1" filter="url(#filter-4)" xlink:href="#path-2"></use>
-                        <use fill="#F0F2F5" fill-rule="evenodd" xlink:href="#path-2"></use>
-                    </g>
-                    <rect id="Rectangle-11" fill="#FFFFFF" mask="url(#mask-3)" x="0" y="0" width="48" height="10"></rect>
-                    <rect id="Rectangle-18" fill="#303648" mask="url(#mask-3)" x="0" y="0" width="16" height="40"></rect>
-                </g>
-            </g>
-        </g>
-    </g>
-</svg>

+ 0 - 39
deviceManager/static/img/light.4183aad0.svg

@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<svg width="52px" height="45px" viewBox="0 0 52 45" version="1.1" 
-    xmlns="http://www.w3.org/2000/svg" 
-    xmlns:xlink="http://www.w3.org/1999/xlink">
-    <defs>
-        <filter x="-9.4%" y="-6.2%" width="118.8%" height="122.5%" filterUnits="objectBoundingBox" id="filter-1">
-            <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
-            <feGaussianBlur stdDeviation="1" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
-            <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.15 0" type="matrix" in="shadowBlurOuter1" result="shadowMatrixOuter1"></feColorMatrix>
-            <feMerge>
-                <feMergeNode in="shadowMatrixOuter1"></feMergeNode>
-                <feMergeNode in="SourceGraphic"></feMergeNode>
-            </feMerge>
-        </filter>
-        <rect id="path-2" x="0" y="0" width="48" height="40" rx="4"></rect>
-        <filter x="-4.2%" y="-2.5%" width="108.3%" height="110.0%" filterUnits="objectBoundingBox" id="filter-4">
-            <feOffset dx="0" dy="1" in="SourceAlpha" result="shadowOffsetOuter1"></feOffset>
-            <feGaussianBlur stdDeviation="0.5" in="shadowOffsetOuter1" result="shadowBlurOuter1"></feGaussianBlur>
-            <feColorMatrix values="0 0 0 0 0   0 0 0 0 0   0 0 0 0 0  0 0 0 0.1 0" type="matrix" in="shadowBlurOuter1"></feColorMatrix>
-        </filter>
-    </defs>
-    <g id="配置面板" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
-        <g id="setting-copy-2" transform="translate(-1254.000000, -136.000000)">
-            <g id="Group-8" transform="translate(1167.000000, 0.000000)">
-                <g id="Group-5" filter="url(#filter-1)" transform="translate(89.000000, 137.000000)">
-                    <mask id="mask-3" fill="white">
-                        <use xlink:href="#path-2"></use>
-                    </mask>
-                    <g id="Rectangle-18">
-                        <use fill="black" fill-opacity="1" filter="url(#filter-4)" xlink:href="#path-2"></use>
-                        <use fill="#F0F2F5" fill-rule="evenodd" xlink:href="#path-2"></use>
-                    </g>
-                    <rect id="Rectangle-18" fill="#FFFFFF" mask="url(#mask-3)" x="0" y="0" width="16" height="40"></rect>
-                    <rect id="Rectangle-11" fill="#FFFFFF" mask="url(#mask-3)" x="0" y="0" width="48" height="10"></rect>
-                </g>
-            </g>
-        </g>
-    </g>
-</svg>

BIN=BIN
deviceManager/static/img/logo-b.fd92c04e.png


BIN=BIN
deviceManager/static/img/logo.847312f6.png


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
deviceManager/static/js/app.d289ab42.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
deviceManager/static/js/chunk-1d963824.7aabfab6.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
deviceManager/static/js/chunk-2d0b2b28.9ffc10ea.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
deviceManager/static/js/chunk-2d0e2366.68f2ed78.js


+ 0 - 1
deviceManager/static/js/chunk-2d0f012d.1bde8e38.js

@@ -1 +0,0 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0f012d"],{"9b8f":function(e,r,n){"use strict";n.r(r);n("ac1f"),n("5319");var t,u,a={created:function(){var e=this.$route,r=e.params,n=e.query,t=r.path;this.$router.replace({path:"/"+t,query:n})},render:function(e){return e()}},c=a,o=n("2877"),p=Object(o["a"])(c,t,u,!1,null,null,null);r["default"]=p.exports}}]);

+ 0 - 1
deviceManager/static/js/chunk-2d1d87f5.ece9ce13.js

@@ -1 +0,0 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d1d87f5"],{9798:function(t,e,s){},cc6c:function(t,e,s){t.exports=s.p+"static/img/401.089007e7.gif"},e356:function(t,e,s){"use strict";s("9798")},ec55:function(t,e,s){"use strict";s.r(e);var a=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"errPage-container"},[s("el-button",{staticClass:"pan-back-btn",attrs:{icon:"arrow-left"},on:{click:t.back}},[t._v(" 返回 ")]),s("el-row",[s("el-col",{attrs:{span:12}},[s("h1",{staticClass:"text-jumbo text-ginormous"},[t._v(" 401错误! ")]),s("h2",[t._v("您没有访问权限!")]),s("h6",[t._v("对不起,您没有访问权限,请不要进行非法操作!您可以返回主页面")]),s("ul",{staticClass:"list-unstyled"},[s("li",{staticClass:"link-type"},[s("router-link",{attrs:{to:"/index"}},[t._v(" 回首页 ")])],1)])]),s("el-col",{attrs:{span:12}},[s("img",{attrs:{src:t.errGif,width:"313",height:"428",alt:"Girl has dropped her ice cream."}})])],1)],1)},c=[],n=s("cc6c"),r=s.n(n),i={name:"Page401",data:function(){return{errGif:r.a+"?"+ +new Date}},methods:{back:function(){this.$route.query.noGoBack?this.$router.push({path:"/"}):this.$router.go(-1)}}},o=i,l=(s("e356"),s("2877")),u=Object(l["a"])(o,a,c,!1,null,"0e5c12bd",null);e["default"]=u.exports}}]);

+ 0 - 1
deviceManager/static/js/chunk-4b5668c0.9debb8a0.js

@@ -1 +0,0 @@
-(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-4b5668c0"],{"26fc":function(t,s,i){t.exports=i.p+"static/img/404_cloud.0f4bc32b.png"},2754:function(t,s,i){"use strict";i.r(s);var c=function(){var t=this,s=t.$createElement,i=t._self._c||s;return i("div",{staticClass:"wscn-http404-container"},[i("div",{staticClass:"wscn-http404"},[t._m(0),i("div",{staticClass:"bullshit"},[i("div",{staticClass:"bullshit__oops"},[t._v(" 404错误! ")]),i("div",{staticClass:"bullshit__headline"},[t._v(" "+t._s(t.message)+" ")]),i("div",{staticClass:"bullshit__info"},[t._v(" 对不起,您正在寻找的页面不存在。尝试检查URL的错误,然后按浏览器上的刷新按钮或尝试在我们的应用程序中找到其他内容。 ")]),i("router-link",{staticClass:"bullshit__return-home",attrs:{to:"/index"}},[t._v(" 返回首页 ")])],1)])])},a=[function(){var t=this,s=t.$createElement,c=t._self._c||s;return c("div",{staticClass:"pic-404"},[c("img",{staticClass:"pic-404__parent",attrs:{src:i("a36b"),alt:"404"}}),c("img",{staticClass:"pic-404__child left",attrs:{src:i("26fc"),alt:"404"}}),c("img",{staticClass:"pic-404__child mid",attrs:{src:i("26fc"),alt:"404"}}),c("img",{staticClass:"pic-404__child right",attrs:{src:i("26fc"),alt:"404"}})])}],e={name:"Page404",computed:{message:function(){return"找不到网页!"}}},l=e,n=(i("e077"),i("2877")),r=Object(n["a"])(l,c,a,!1,null,"267f2676",null);s["default"]=r.exports},"2e5e":function(t,s,i){},a36b:function(t,s,i){t.exports=i.p+"static/img/404.a57b6f31.png"},e077:function(t,s,i){"use strict";i("2e5e")}}]);

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
deviceManager/static/js/chunk-54d46b3c.2efbbd92.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
deviceManager/static/js/chunk-58e08142.20141459.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
deviceManager/static/js/chunk-60a3932e.5c747d2e.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
deviceManager/static/js/chunk-6a3a862b.0fb59377.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
deviceManager/static/js/chunk-7e10f382.480481c1.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
deviceManager/static/js/chunk-elementUI.7ae3ef1a.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 0
deviceManager/static/js/chunk-libs.b64e9255.js


+ 8 - 8
src/views/business/OM/eventCenter/alarm/index.vue

@@ -34,29 +34,28 @@
       </el-form-item>
     </el-form>
     <el-row :gutter="20">
-      <el-col :span="3">
+      <el-col :span="2.4">
         <el-col class="event">
             事件总数<span class="color1 colorc">{{collectList.total}}</span>
         </el-col>
       </el-col>
-      <el-col :span="3">
+      <el-col :span="2.4">
         <el-col class="event">
             已处理数<span class="color2 colorc">{{collectList.checkCount}}</span>
         </el-col>
       </el-col>
-      <el-col :span="3" >
+      <el-col :span="2.4" >
         <el-col class="event">
             未处理数<span class="color3 colorc">{{collectList.noCheckCount}}</span>
         </el-col>
       </el-col>
-      <el-col :span="3">
+      <el-col :span="2.4">
         <el-col class="event">
             处置率<span class="color4 colorc " v-if="collectList.checkRadio">{{Number((collectList.checkRadio)*100).toFixed(1)}}%</span>
-            <span class="color4 colorc " else-if="collectList.checkRadio"></span>
         </el-col>
       </el-col>
     </el-row>
-    <el-table v-loading="loading" :data="adminList" style="margin-top:20px;" height="calc(100vh - 23em)">
+    <el-table v-loading="loading" :data="adminList" style="margin-top:20px;" height="calc(100vh - 34vh)">
       <el-table-column label="事件id" align="center" prop="id" />
       <el-table-column label="单位名称" align="center" prop="companyName" show-overflow-tooltip />
       <el-table-column label="告警设备" align="center" prop="deviceName" show-overflow-tooltip />
@@ -341,10 +340,11 @@ export default {
 <style>
 .event{
   border:1px solid #ccc;
-  padding:20px 0;
+  padding:1.5vh 0;
+  font-size:0.9vw;
 }
 .colorc{
-  font-size:20px;
+  font-size:1.2vw;
   margin-left:4px;
 }
 .color1{

+ 8 - 8
src/views/business/OM/eventCenter/event/index.vue

@@ -35,29 +35,28 @@
       </el-form-item>
     </el-form>
     <el-row :gutter="20">
-      <el-col :span="3">
+      <el-col :span="2.4">
         <el-col class="event">
             事件总数<span class="color1 colorc">{{collectList.total}}</span>
         </el-col>
       </el-col>
-      <el-col :span="3">
+      <el-col :span="2.4">
         <el-col class="event">
             已处理数<span class="color2 colorc">{{collectList.checkCount}}</span>
         </el-col>
       </el-col>
-      <el-col :span="3" >
+      <el-col :span="2.4" >
         <el-col class="event">
             未处理数<span class="color3 colorc">{{collectList.noCheckCount}}</span>
         </el-col>
       </el-col>
-      <el-col :span="3">
+      <el-col :span="2.4">
         <el-col class="event">
             处置率<span class="color4 colorc " v-if="collectList.checkRadio">{{Number((collectList.checkRadio)*100).toFixed(1)}}%</span>
-            <span class="color4 colorc " else-if="collectList.checkRadio">0</span>
         </el-col>
       </el-col>
     </el-row>
-    <el-table v-loading="loading" :data="adminList" style="margin-top:20px;" height="calc(100vh - 23em)">
+    <el-table v-loading="loading" :data="adminList" style="margin-top:20px;" height="calc(100vh - 34vh)">
       <el-table-column label="事件id" align="center" prop="id" />
       <el-table-column label="单位名称" align="center" prop="companyName" show-overflow-tooltip />
       <el-table-column label="事件名称" align="center" prop="eventName" show-overflow-tooltip />
@@ -339,10 +338,11 @@ export default {
 <style>
 .event{
   border:1px solid #ccc;
-  padding:20px 0;
+  padding:1.5vh 0;
+  font-size:0.9vw;
 }
 .colorc{
-  font-size:20px;
+  font-size:1.2vw;
   margin-left:4px;
 }
 .color1{

+ 8 - 8
src/views/business/OM/eventCenter/hiddenDanger/index.vue

@@ -34,30 +34,29 @@
       </el-form-item>
     </el-form>
     <el-row :gutter="20">
-      <el-col :span="3">
+      <el-col :span="2.4">
         <el-col class="event">
             事件总数<span class="color1 colorc">{{collectList.total}}</span>
         </el-col>
       </el-col>
-      <el-col :span="3">
+      <el-col :span="2.4">
         <el-col class="event">
             已处理数<span class="color2 colorc">{{collectList.checkCount}}</span>
         </el-col>
       </el-col>
-      <el-col :span="3" >
+      <el-col :span="2.4" >
         <el-col class="event">
             未处理数<span class="color3 colorc">{{collectList.noCheckCount}}</span>
         </el-col>
       </el-col>
-      <el-col :span="3">
+      <el-col :span="2.4">
         <el-col class="event">
             处置率
             <span class="color4 colorc " v-if="collectList.checkRadio">{{Number((collectList.checkRadio)*100).toFixed(1)}}%</span>
-            <span class="color4 colorc " else-if="collectList.checkRadio"></span>
         </el-col>
       </el-col>
     </el-row>
-    <el-table v-loading="loading" :data="adminList" style="margin-top:20px;" height="calc(100vh - 23em)">
+    <el-table v-loading="loading" :data="adminList" style="margin-top:20px;" height="calc(100vh - 34vh)">
       <el-table-column label="id" align="center" prop="id" />
       <el-table-column label="单位名称" align="center" prop="companyName" show-overflow-tooltip />
       <el-table-column label="设备名称" align="center" prop="deviceName" show-overflow-tooltip />
@@ -333,10 +332,11 @@ export default {
 <style>
 .event{
   border:1px solid #ccc;
-  padding:20px 0;
+  padding:1.5vh 0;
+  font-size:0.9vw;
 }
 .colorc{
-  font-size:20px;
+  font-size:1.2vw;
   margin-left:4px;
 }
 .color1{

+ 9 - 8
src/views/business/OM/workMange/index.vue

@@ -43,30 +43,30 @@
       </el-form-item>
     </el-form>
     <el-row :gutter="20">
-      <el-col :span="3">
+      <el-col :span="2.4">
         <el-col class="event">
             事件总数<span class="color1 colorc">{{collectList.total}}</span>
         </el-col>
       </el-col>
-      <el-col :span="3">
+      <el-col :span="2.4">
         <el-col class="event">
             已处理数<span class="color2 colorc">{{collectList.checkCount}}</span>
         </el-col>
       </el-col>
-      <el-col :span="3" >
+      <el-col :span="2.4" >
         <el-col class="event">
             未处理数<span class="color3 colorc">{{collectList.noCheckCount}}</span>
         </el-col>
       </el-col>
-      <el-col :span="3">
+      <el-col :span="2.4">
         <el-col class="event">
             处置率<span class="color4 colorc " v-if="collectList.checkRadio">{{Number((collectList.checkRadio)*100).toFixed(2)}}%</span>
             <span class="color4 colorc " else-if="collectList.checkRadio">0</span>
         </el-col>
       </el-col>
     </el-row>
-    <el-table v-loading="loading" :data="adminList" style="margin-top:20px;" height="calc(100vh - 23em)">
-      <el-table-column label="id" align="center" prop="id" />
+    <el-table v-loading="loading" :data="adminList" style="margin-top:20px;" height="calc(100vh - 34vh)">
+      <el-table-column label="id" align="center" prop="id"  show-overflow-tooltip />
       <el-table-column label="单位名称" align="center" prop="companyName" show-overflow-tooltip />
       <el-table-column label="工单名称" align="center" prop="workOrderName" show-overflow-tooltip />
       <el-table-column label="工单内容" align="center" prop="workOrderContent" show-overflow-tooltip />
@@ -403,10 +403,11 @@ export default {
 <style>
 .event{
   border:1px solid #ccc;
-  padding:20px 0;
+  padding:1.5vh 0;
+  font-size:0.9vw;
 }
 .colorc{
-  font-size:20px;
+  font-size:1.2vw;
   margin-left:4px;
 }
 .color1{

+ 25 - 15
src/views/business/buildMange/building/index.vue

@@ -24,15 +24,15 @@
         >新增</el-button>
       </el-form-item>
     </el-form>
-    <el-table v-loading="loading" :data="adminList" >
-      <el-table-column label="建筑名称" align="center" prop="buildName" />
-      <el-table-column label="地理坐标" align="center" prop="posistion" />
-      <el-table-column label="省" align="center" prop="data2" />
-      <el-table-column label="市" align="center" prop="data3" />
-      <el-table-column label="区/县" align="center" prop="data4" />
-      <el-table-column label="详细地址" align="center" prop="address" />
-      <el-table-column label="创建人" align="center" prop="addMan" />
-      <el-table-column label="创建时间" align="center" prop="addTime" />
+    <el-table v-loading="loading" :data="adminList" height="calc(100vh - 28vh)">
+      <el-table-column label="建筑名称" align="center" prop="buildName"  show-overflow-tooltip />
+      <el-table-column label="地理坐标" align="center" prop="posistion"  show-overflow-tooltip />
+      <el-table-column label="省" align="center" prop="data2"  show-overflow-tooltip />
+      <el-table-column label="市" align="center" prop="data3"  show-overflow-tooltip />
+      <el-table-column label="区/县" align="center" prop="data4"  show-overflow-tooltip />
+      <el-table-column label="详细地址" align="center" prop="address"  show-overflow-tooltip />
+      <el-table-column label="创建人" align="center" prop="addMan"  show-overflow-tooltip />
+      <el-table-column label="创建时间" align="center" prop="addTime"  show-overflow-tooltip />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
         <template slot-scope="scope">
           <el-button
@@ -70,7 +70,7 @@
         </el-row>
         <el-row>
           <el-col :span="12">
-            <el-form-item label="省" prop="addr1">
+            <el-form-item label="省" prop="province">
               <el-select v-model="form.province" filterable size="small" @change="selectProvinceFun($event)" placeholder="请选择省份">
                 <!-- <el-option value="" label="请选择省份"></el-option> -->
                 <el-option :value="item" :label="item.label" v-for="(item, index) in addr1" :key="index"></el-option>
@@ -78,7 +78,7 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="市" prop="addr2">
+            <el-form-item label="市" prop="city">
               <el-select v-model="form.city" filterable size="small" @change="selectCityFun($event)" placeholder="请选择城市">
                 <!-- <el-option value="" label="请选择城市"></el-option> -->
                 <el-option :value="item" :label="item.label" v-for="(item, index) in addr2" :key="index"></el-option>
@@ -88,7 +88,7 @@
         </el-row>
         <el-row>
           <el-col :span="12">
-            <el-form-item label="区/县" prop="addr3">
+            <el-form-item label="区/县" prop="area">
               <el-select v-model="form.area" filterable size="small" @change="selectAreaFun($event)" placeholder="请选择区县">
                 <!-- <el-option value="" label="请选择区县"></el-option> -->
                 <el-option :value="item" :label="item.label" v-for="(item, index) in addr3" :key="index"></el-option>
@@ -152,13 +152,13 @@ export default {
         posistion: [
           { required: true, message: "地理坐标不能为空", trigger: "blur" }
         ],
-        data2: [
+        province: [
           { required: true, message: "省不能为空", trigger: ["blur",'change'] }
         ],
-        data3: [
+        city: [
           { required: true, message: "市不能为空", trigger: ["blur",'change']}
         ],
-        data4: [
+        area: [
           { required: true, message: "区/县不能为空", trigger: ["blur",'change'] }
         ],
         address: [
@@ -278,6 +278,10 @@ export default {
           this.form.data4 = this.form.area.label
 
           let data = this.form
+
+          let provinceX = data.province
+          let cityX = data.city
+          let areaX = data.area
           delete data.province
           delete data.city
           delete data.area
@@ -289,6 +293,9 @@ export default {
               this.getList();
             }).catch(()=>{
               this.loading = false
+              data.province = provinceX
+              data.city = cityX
+              data.area = provinceX
             })
           } else {
             addBuilding(data).then(response => {
@@ -298,6 +305,9 @@ export default {
               this.getList();
             }).catch(()=>{
               this.loading = false
+              data.province = provinceX
+              data.city = cityX
+              data.area = provinceX
             })
           }
         }

+ 11 - 11
src/views/business/buildMange/floor/index.vue

@@ -25,12 +25,12 @@
       </el-form-item>
     </el-form>
 
-    <el-table v-loading="loading" :data="adminList" >
-      <el-table-column label="楼层名称" align="center" prop="floorName" />
-      <el-table-column label="建筑名称" align="center" prop="buildName" />
-      <el-table-column label="备注" align="center" prop="remark" />
-      <el-table-column label="创建人" align="center" prop="creatMan" />
-      <el-table-column label="创建时间" align="center" prop="creatTime" />
+    <el-table v-loading="loading" :data="adminList" height="calc(100vh - 28vh)">
+      <el-table-column label="楼层名称" align="center" prop="floorName"  show-overflow-tooltip />
+      <el-table-column label="建筑名称" align="center" prop="buildName"  show-overflow-tooltip />
+      <el-table-column label="备注" align="center" prop="remark"  show-overflow-tooltip />
+      <el-table-column label="创建人" align="center" prop="creatMan"  show-overflow-tooltip />
+      <el-table-column label="创建时间" align="center" prop="creatTime"  show-overflow-tooltip />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
         <template slot-scope="scope">
           <el-button
@@ -63,7 +63,7 @@
           <el-col :span="12">
             <el-form-item label="建筑名称" prop="buildId">
               <el-select
-                v-model="form.buildName"
+                v-model="form.buildId"
                 placeholder="请选择建筑名称"
                 clearable
                 size="small"
@@ -72,7 +72,7 @@
                   v-for="(dict,index) in buildListData"
                   :key="index"
                   :label="dict.name"
-                  :value="dict"
+                  :value="dict.id"
                 />
               </el-select>
             </el-form-item>
@@ -187,7 +187,9 @@ export default {
     handleUpdate(row) {
       this.reset();
       this.title = "修改";
-      this.form = JSON.parse(JSON.stringify(row))
+      this.form = row
+      this.form.buildId = Number(this.form.buildId)
+
       this.open = true;
     },
     /** 新增按钮操作 */
@@ -201,8 +203,6 @@ export default {
       this.$refs["form"].validate(valid => {
         if (valid) {
           this.loading = true
-          this.form.buildId = this.form.buildName.id
-          this.form.buildName = this.form.buildName.name
           if (this.form.id != undefined) {
             updateFloor(this.form).then(response => {
               this.loading = false,

+ 33 - 25
src/views/business/buildMange/room/index.vue

@@ -45,13 +45,13 @@
       </el-form-item>
     </el-form>
 
-    <el-table v-loading="loading" :data="adminList" >
-      <el-table-column label="房间名称" align="center" prop="roomName" />
-      <el-table-column label="楼层名称" align="center" prop="floorName" />
-      <el-table-column label="建筑名称" align="center" prop="buildName" />
-      <el-table-column label="备注" align="center" prop="remark" />
-      <el-table-column label="创建人" align="center" prop="creatMan" />
-      <el-table-column label="创建时间" align="center" prop="addTime" />
+    <el-table v-loading="loading" :data="adminList" height="calc(100vh - 28vh)">
+      <el-table-column label="房间名称" align="center" prop="roomName"  show-overflow-tooltip />
+      <el-table-column label="楼层名称" align="center" prop="floorName"  show-overflow-tooltip />
+      <el-table-column label="建筑名称" align="center" prop="buildName"  show-overflow-tooltip />
+      <el-table-column label="备注" align="center" prop="remark"  show-overflow-tooltip />
+      <el-table-column label="创建人" align="center" prop="creatMan"  show-overflow-tooltip />
+      <el-table-column label="创建时间" align="center" prop="addTime"  show-overflow-tooltip />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
         <template slot-scope="scope">
           <el-button
@@ -84,7 +84,7 @@
           <el-col :span="12">
             <el-form-item label="建筑名称" prop="buildId">
               <el-select  @change="getBuildId($event)"
-                v-model="form.buildName"
+                v-model="form.buildId"
                 placeholder="请选择建筑名称"
                 clearable
                 size="small"
@@ -93,7 +93,7 @@
                   v-for="(dict,index) in buildListData"
                   :key="index"
                   :label="dict.name"
-                  :value="dict"
+                  :value="dict.id"
                 />
               </el-select>
             </el-form-item>
@@ -103,7 +103,7 @@
           <el-col :span="12" >
             <el-form-item label="楼层名称" prop="floorId">
               <el-select
-                v-model="form.floorName"
+                v-model="form.floorId"
                 placeholder="请选择楼层名称"
                 clearable
                 size="small"
@@ -112,7 +112,7 @@
                   v-for="(dict,index) in floorListData"
                   :key="index"
                   :label="dict.name"
-                  :value="dict"
+                  :value="dict.id"
                 />
               </el-select>
             </el-form-item>
@@ -173,6 +173,12 @@ export default {
         floorName: [
           { required: true, message: "地理坐标不能为空", trigger: ["blur",'change'] }
         ],
+        buildId: [
+          { required: true, message: "建筑名称不能为空", trigger: ["blur",'change'] }
+        ],
+        floorId: [
+          { required: true, message: "楼层名称不能为空", trigger: ["blur",'change'] }
+        ],
       },
       //建筑下拉
       buildListData:[],
@@ -193,6 +199,7 @@ export default {
     cancel() {
       this.open = false;
       this.reset();
+      this.floorListData = []
     },
     /** 重置按钮操作 */
     resetQuery() {
@@ -229,7 +236,9 @@ export default {
     handleUpdate(row) {
       this.reset();
       this.title = "修改";
-      this.form = JSON.parse(JSON.stringify(row))
+      this.form = row
+      this.form.buildId = Number(this.form.buildId)
+      this.form.floorId = Number(this.form.floorId)
       this.open = true;
     },
     /** 新增按钮操作 */
@@ -243,11 +252,6 @@ export default {
       this.$refs["form"].validate(valid => {
         if (valid) {
           this.loading = true
-          this.form.buildId = this.form.buildName.id
-          this.form.buildName = this.form.buildName.name
-
-          this.form.floorId = this.form.floorName.id
-          this.form.floorName = this.form.floorName.name
 
           if (this.form.id != undefined) {
             updateRoom(this.form).then(response => {
@@ -255,19 +259,21 @@ export default {
               this.msgSuccess("修改成功");
               this.open = false;
               this.getList();
+              setTimeout(() =>{
+                this.floorListData = []
+              },1000)
             }).catch(()=>{
               this.loading = false
             })
-            this.buildListData = []
-            this.floorListData = []
           } else {
             addRoom(this.form).then(response => {
               this.loading = false,
               this.msgSuccess("新增成功");
               this.open = false;
               this.getList();
-              this.buildListData = []
-              this.floorListData = []
+              setTimeout(() =>{
+                this.floorListData = []
+              },1000)
             }).catch(()=>{
               this.loading = false
             })
@@ -299,12 +305,12 @@ export default {
             name:val.buildName
           }
         })
-
+        console.log(this.buildListData)
       });
     },
     /* 楼层列表 */
     floorList(id){
-      getFloor({floorId:id,current:1,size:20}).then(response => {
+      getFloor({buildId:id,current:1,size:100}).then(response => {
         this.floorListData = (response.data).records.map(val =>{
           return {
             id:val.id,
@@ -312,10 +318,12 @@ export default {
           }
         })
 
+        console.log(this.floorListData)
+
       });
     },
-    getBuildId(build){
-      this.floorList(build.id)//初始化楼层下拉
+    getBuildId(id){
+      this.floorList(id)//初始化楼层下拉
     }
 
 

+ 21 - 11
src/views/business/deviceMange/deviceApi/index.vue

@@ -43,24 +43,24 @@
         >导出</el-button>
       </el-form-item>
     </el-form>
-    <el-table v-loading="loading" :data="adminList" key="Math.random()">
-      <el-table-column label="接口名称" align="center" prop="interfaceName" />
-      <el-table-column label="接口路径" align="center" prop="interfaceRoute" />
-      <el-table-column label="接口参数" align="center" prop="interfaceParameter" />
-      <el-table-column label="接口传输方式" align="center" prop="interfaceTransmissionMode" >
+    <el-table v-loading="loading" :data="adminList" key="Math.random()" height="calc(100vh - 28vh)">
+      <el-table-column label="接口名称" align="center" prop="interfaceName"  show-overflow-tooltip />
+      <el-table-column label="接口路径" align="center" prop="interfaceRoute"  show-overflow-tooltip />
+      <el-table-column label="接口参数" align="center" prop="interfaceParameter"  show-overflow-tooltip />
+      <el-table-column label="接口传输方式" align="center" prop="interfaceTransmissionMode"  show-overflow-tooltip >
         <template slot-scope="scope">
           <span>{{scope.row.interfaceTransmissionMode=="1"?"NB-IOT" : scope.row.interfaceTransmissionMode=="2"?"Lord-IOT" : "2G/4G/5G" }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="接口说明" align="center" prop="interfaceExplain" />
-      <el-table-column label="接口文档" align="center" prop="interfaceFileRoute" >
+      <el-table-column label="接口说明" align="center" prop="interfaceExplain"  show-overflow-tooltip />
+      <el-table-column label="接口文档" align="center" prop="interfaceFileRoute"  show-overflow-tooltip >
         <template slot-scope="scope">
-          <span v-down="`https://smartpark.caih.com/dmapi/archive/${scope.row.interfaceFileRoute}`">下载</span>
+          <span style="color:#1890ff" v-if="scope.row.interfaceFileRoute"  @click="FileDownload(`https://smartpark.caih.com/dmapi/archive/${scope.row.interfaceFileRoute}`)">下载</span>
         </template>
       </el-table-column>
-      <el-table-column label="厂家(商家)" align="center" prop="business" />
-      <el-table-column label="创建人" align="center" prop="addPeople" />
-      <el-table-column label="创建时间" align="center" prop="addTime" />
+      <el-table-column label="厂家(商家)" align="center" prop="business"  show-overflow-tooltip />
+      <el-table-column label="创建人" align="center" prop="addPeople"  show-overflow-tooltip />
+      <el-table-column label="创建时间" align="center" prop="addTime"  show-overflow-tooltip />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
         <template slot-scope="scope">
           <el-button
@@ -412,6 +412,16 @@ export default {
         });
       }
     },
+    /** 文件下载 */
+    FileDownload(url){
+      let link = document.createElement('a')
+      fetch(url).then(res => res.blob()).then(blob => { // 将链接地址字符内容转变成blob地址
+          link.href = URL.createObjectURL(blob)
+          link.download = ''
+          document.body.appendChild(link)
+          link.click()
+      })
+    }
   }
 };
 </script>

+ 8 - 8
src/views/business/deviceMange/deviceList/index.vue

@@ -45,10 +45,10 @@
         >导出</el-button>
       </el-form-item>
     </el-form>
-    <el-table v-loading="loading" :data="adminList" >
-      <el-table-column label="设备编号" align="center" prop="ownerCode" />
-      <el-table-column label="设备名称" align="center" prop="ownerName" />
-      <el-table-column label="设备类型" align="center" prop="deviceType" >
+    <el-table v-loading="loading" :data="adminList" height="calc(100vh - 28vh)">
+      <el-table-column label="设备编号" align="center" prop="ownerCode"  show-overflow-tooltip />
+      <el-table-column label="设备名称" align="center" prop="ownerName"  show-overflow-tooltip />
+      <el-table-column label="设备类型" align="center" prop="deviceType"  show-overflow-tooltip >
         <!-- <template slot-scope="scope">
           <span>
             {{scope.row.dwtype=="1"?"火系统" : scope.row.dwtype=="2"?"水系统" : scope.row.dwtype=="3"?"烟感系统" :
@@ -58,10 +58,10 @@
             scope.row.dwtype=="16"?"视频监控" : scope.row.dwtype=="128"?"井盖":""}}</span>
         </template> -->
       </el-table-column>
-      <el-table-column label="所属单位" align="center" prop="companyName" />
-      <el-table-column label="所属建筑" align="center" prop="louyu" />
-      <el-table-column label="安装位置" align="center" prop="posistion" />
-      <el-table-column label="详细地址" align="center" prop="address" />
+      <el-table-column label="所属单位" align="center" prop="companyName"  show-overflow-tooltip />
+      <el-table-column label="所属建筑" align="center" prop="louyu"  show-overflow-tooltip />
+      <el-table-column label="安装位置" align="center" prop="posistion"  show-overflow-tooltip />
+      <el-table-column label="详细地址" align="center" prop="address"  show-overflow-tooltip />
       <!-- <el-table-column label="创建人" align="center" prop="addMan" />
       <el-table-column label="创建时间" align="center" prop="addTime" /> -->
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >

+ 10 - 10
src/views/business/deviceMange/devicePassageWay/index.vue

@@ -51,23 +51,23 @@
         >导出</el-button>
       </el-form-item>
     </el-form>
-    <el-table v-loading="loading" :data="adminList" >
-      <el-table-column label="通道名称" align="center" prop="passagewayName" />
-      <el-table-column label="设备类型" align="center" prop="dwtype" >
+    <el-table v-loading="loading" :data="adminList" height="calc(100vh - 28vh)">
+      <el-table-column label="通道名称" align="center" prop="passagewayName"  show-overflow-tooltip />
+      <el-table-column label="设备类型" align="center" prop="dwtype"  show-overflow-tooltip >
         <template slot-scope="scope">
           <span>{{scope.row.dwtype=="2"?"喷淋水压" : scope.row.dwtype=="5"?"消防水箱液位" : scope.row.dwtype=="6" ? "RTU": scope.row.dwtype=="16" ? "消防视频监控": "" }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="通道类型" align="center" prop="passagewayType" >
+      <el-table-column label="通道类型" align="center" prop="passagewayType"  show-overflow-tooltip >
         <template slot-scope="scope">
           <span>
             {{scope.row.dwtype=="1" && scope.row.passagewayType=="1" ?"待定义" :
 
-            scope.row.dwtype=="2" && scope.row.passagewayType=="1" ?"设备状态" : scope.row.dwtype=="2" && scope.row.passagewayType=="1" ?"剩余电量"
+            scope.row.dwtype=="2" && scope.row.passagewayType=="1" ?"设备状态" : scope.row.dwtype=="2" && scope.row.passagewayType=="2" ?"剩余电量"
             : scope.row.dwtype=="2" && scope.row.passagewayType=="3" ?"无线信号" : scope.row.dwtype=="2" && scope.row.passagewayType=="4" ?"压力值" :
 
-            scope.row.dwtype=="5" && scope.row.passagewayType=="1" ?"状态" : scope.row.dwtype=="3" && scope.row.passagewayType=="2" ?"剩余电量" :
-            scope.row.dwtype=="5" && scope.row.passagewayType=="3" ?"无线信号" : scope.row.dwtype=="4" && scope.row.passagewayType=="2" ?"液位值" :
+            scope.row.dwtype=="5" && scope.row.passagewayType=="1" ?"状态状态" : scope.row.dwtype=="5" && scope.row.passagewayType=="2" ?"剩余电量" :
+            scope.row.dwtype=="5" && scope.row.passagewayType=="3" ?"无线信号" : scope.row.dwtype=="5" && scope.row.passagewayType=="4" ?"液位值" :
 
             scope.row.dwtype=="6" && scope.row.passagewayType=="1" ?"1~16待定" : scope.row.dwtype=="6" && scope.row.passagewayType=="2" ?"65~72待定" :
             scope.row.dwtype=="16" && scope.row.passagewayType=="1" ?"占到检测告警" : scope.row.dwtype=="16" && scope.row.passagewayType=="2" ?"火点检测告警" : ""
@@ -75,9 +75,9 @@
             }}</span>
         </template>
       </el-table-column>
-      <el-table-column label="单位名称" align="center" prop="companyName" />
-      <el-table-column label="创建人" align="center" prop="addPeople" />
-      <el-table-column label="创建时间" align="center" prop="addTime" />
+      <el-table-column label="单位名称" align="center" prop="companyName"  show-overflow-tooltip />
+      <el-table-column label="创建人" align="center" prop="addPeople"  show-overflow-tooltip />
+      <el-table-column label="创建时间" align="center" prop="addTime"  show-overflow-tooltip />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
         <template slot-scope="scope">
           <el-button

+ 8 - 8
src/views/business/deviceMange/deviceType/index.vue

@@ -43,18 +43,18 @@
         >导出</el-button>
       </el-form-item>
     </el-form>
-    <el-table v-loading="loading" :data="adminList" >
-      <el-table-column label="类型名称" align="center" prop="typeName" />
-      <el-table-column label="类型参数" align="center" prop="typeValue" />
-      <el-table-column label="传输方式" align="center" prop="transmissionModel" >
+    <el-table v-loading="loading" :data="adminList" height="calc(100vh - 28vh)">
+      <el-table-column label="类型名称" align="center" prop="typeName"  show-overflow-tooltip />
+      <el-table-column label="类型参数" align="center" prop="typeValue"  show-overflow-tooltip />
+      <el-table-column label="传输方式" align="center" prop="transmissionModel"  show-overflow-tooltip >
         <template slot-scope="scope">
           <span >{{scope.row.transmissionModel == 1 ? "NB-IOT" : scope.row.transmissionModel == 2 ? "Lord-IOT" : scope.row.transmissionModel == 3 ? "2G/4G/5G" :""}}</span>
         </template>
       </el-table-column>
-      <el-table-column label="厂家名称" align="center" prop="business" />
-      <el-table-column label="所属单位" align="center" prop="companyName" />
-      <el-table-column label="创建人" align="center" prop="addPeople" />
-      <el-table-column label="创建时间" align="center" prop="addTime" />
+      <el-table-column label="厂家名称" align="center" prop="business"  show-overflow-tooltip />
+      <el-table-column label="所属单位" align="center" prop="companyName"  show-overflow-tooltip />
+      <el-table-column label="创建人" align="center" prop="addPeople"  show-overflow-tooltip />
+      <el-table-column label="创建时间" align="center" prop="addTime"  show-overflow-tooltip />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
         <template slot-scope="scope">
           <el-button

+ 26 - 26
src/views/business/fireInternet/deviceMonitoring/SSMonitoring/index.vue

@@ -60,7 +60,7 @@
                 <div class="contain">
                   <index2
                   :resData="index2Data"
-                  style="width:100%;height:26em;" alt="折线图" />
+                  style="width:100%;height:40vh;" alt="折线图" />
                 </div>
               </el-card>
             </div>
@@ -114,19 +114,19 @@
                 >导出</el-button>
               </el-form>
             </div>
-            <el-table v-loading="loading4" :data="adminList" height="calc(100vh - 42em)" :default-sort = "{prop: 'alarmTime', order: 'descending'}">
-              <el-table-column label="序号" align="center" prop="id" />
-              <el-table-column label="单位名称" align="center" prop="companyName"/>
-              <el-table-column label="报告时间" align="center" prop="alarmTime" sortable />
-              <el-table-column label="报告数据" align="center" prop="alertValue" />
-              <el-table-column label="报告内容" align="center" prop="alarmContent" />
-              <el-table-column label="处理状态" align="center" >
+            <el-table v-loading="loading4" :data="adminList" height="calc(100vh - 67vh)" :default-sort = "{prop: 'alarmTime', order: 'descending'}">
+              <el-table-column label="序号" align="center" prop="id"  show-overflow-tooltip />
+              <el-table-column label="单位名称" align="center" prop="companyName" show-overflow-tooltip />
+              <el-table-column label="报告时间" align="center" prop="alarmTime" sortable  show-overflow-tooltip />
+              <el-table-column label="报告数据" align="center" prop="alertValue"  show-overflow-tooltip />
+              <el-table-column label="报告内容" align="center" prop="alarmContent"  show-overflow-tooltip />
+              <el-table-column label="处理状态" align="center"  show-overflow-tooltip >
                 <template slot-scope="scope">
                   <span>{{ scope.row.alarmStatus == 0 ? '未处理':scope.row.alarmStatus ==1 ? '已处理':'' }}</span>
                 </template>
               </el-table-column>
-              <el-table-column label="处理人" align="center" prop="updateBy" />
-              <el-table-column label="处理时间" align="center" prop="updateTime" />
+              <el-table-column label="处理人" align="center" prop="updateBy"  show-overflow-tooltip />
+              <el-table-column label="处理时间" align="center" prop="updateTime"  show-overflow-tooltip />
             </el-table>
           </el-col>
       </el-row>
@@ -353,7 +353,7 @@ export default {
     }
     .card_left{
       .card1{
-        height:28em;
+        height:43vh;
         .title{
           width:100%;
           display: block;
@@ -366,58 +366,58 @@ export default {
             display: inline-block;
             vertical-align: middle;
             margin-left:2%;
-            font-size:1.4rem;
+            font-size:1.4vw;
           }
         }
         .contain{
-          margin-top:0.5rem;
-          width:45%;
+          margin-top:0.5vh;
+          width:58%;
           display: inline-block;
           vertical-align: top;
           div{
-            height:5rem;
+            height:7.8vh;
             span{
-              font-size: 1.2rem;
+              font-size: 1vw;
               vertical-align: middle;
-              width:80px;
+              width:4vw;
               text-align: left;
               display: inline-block;
             }
             div{
-              width:60%;
-              max-width:214px;
-              height:4rem;
+              width:212px;
+              height:6vh;
               vertical-align: middle;
               background:url("../../../../../assets/images/operation_item.png") no-repeat right center;
               display: inline-block;
               p{
-                font-size: 1.6rem;
+                font-size: 1.4vw;
                 vertical-align: top;
-                margin:1rem 0 0 3rem;
+                margin:1vh 0 0 3vh;
               }
             }
           }
         }
         .contain2{
-          margin-top:-3rem;
+          margin-top:-2.5rem;
           vertical-align: top;
-          width:45%;
+          width:42%;
           display: inline-block;
           p{
             text-align: center;
             font-size: 1.4rem;
-            margin-top:-3rem;
+            margin:-2vh 0 0 0%;
           }
         }
       }
     }
     .card_right{
       .card2{
-        height:28em;
+        height:43vh;
       }
     }
     .card_bottom{
       padding-top:10px;
+      margin-bottom:-10px
     }
   }
 

+ 26 - 26
src/views/business/fireInternet/deviceMonitoring/fireMonitoring/index.vue

@@ -60,7 +60,7 @@
                 <div class="contain">
                   <index2
                   :resData="index2Data"
-                  style="width:100%;height:26em;" alt="折线图" />
+                  style="width:100%;height:40vh;" alt="折线图" />
                 </div>
               </el-card>
             </div>
@@ -114,19 +114,19 @@
                 >导出</el-button>
               </el-form>
             </div>
-            <el-table v-loading="loading4" :data="adminList" height="calc(100vh - 42em)" :default-sort = "{prop: 'alarmTime', order: 'descending'}">
-              <el-table-column label="序号" align="center" prop="id" />
-              <el-table-column label="单位名称" align="center" prop="companyName"/>
-              <el-table-column label="报告时间" align="center" prop="alarmTime" sortable />
-              <el-table-column label="报告数据" align="center" prop="alertValue" />
-              <el-table-column label="报告内容" align="center" prop="alarmContent" />
-              <el-table-column label="处理状态" align="center" >
+            <el-table v-loading="loading4" :data="adminList" height="calc(100vh - 67vh)" :default-sort = "{prop: 'alarmTime', order: 'descending'}">
+              <el-table-column label="序号" align="center" prop="id"  show-overflow-tooltip />
+              <el-table-column label="单位名称" align="center" prop="companyName" show-overflow-tooltip />
+              <el-table-column label="报告时间" align="center" prop="alarmTime" sortable  show-overflow-tooltip />
+              <el-table-column label="报告数据" align="center" prop="alertValue"  show-overflow-tooltip />
+              <el-table-column label="报告内容" align="center" prop="alarmContent"  show-overflow-tooltip />
+              <el-table-column label="处理状态" align="center"  show-overflow-tooltip >
                 <template slot-scope="scope">
                   <span>{{ scope.row.alarmStatus == 0 ? '未处理':scope.row.alarmStatus ==1 ? '已处理':'' }}</span>
                 </template>
               </el-table-column>
-              <el-table-column label="处理人" align="center" prop="updateBy" />
-              <el-table-column label="处理时间" align="center" prop="updateTime" />
+              <el-table-column label="处理人" align="center" prop="updateBy"  show-overflow-tooltip />
+              <el-table-column label="处理时间" align="center" prop="updateTime"  show-overflow-tooltip />
             </el-table>
           </el-col>
       </el-row>
@@ -355,7 +355,7 @@ export default {
     }
     .card_left{
       .card1{
-        height:28em;
+        height:43vh;
         .title{
           width:100%;
           display: block;
@@ -368,58 +368,58 @@ export default {
             display: inline-block;
             vertical-align: middle;
             margin-left:2%;
-            font-size:1.4rem;
+            font-size:1.4vw;
           }
         }
         .contain{
-          margin-top:0.5rem;
-          width:45%;
+          margin-top:0.5vh;
+          width:58%;
           display: inline-block;
           vertical-align: top;
           div{
-            height:5rem;
+            height:7.8vh;
             span{
-              font-size: 1.2rem;
+              font-size: 1vw;
               vertical-align: middle;
-              width:80px;
+              width:4vw;
               text-align: left;
               display: inline-block;
             }
             div{
-              width:60%;
-              max-width:214px;
-              height:4rem;
+              width:212px;
+              height:6vh;
               vertical-align: middle;
               background:url("../../../../../assets/images/operation_item.png") no-repeat right center;
               display: inline-block;
               p{
-                font-size: 1.6rem;
+                font-size: 1.4vw;
                 vertical-align: top;
-                margin:1rem 0 0 3rem;
+                margin:1vh 0 0 3vh;
               }
             }
           }
         }
         .contain2{
-          margin-top:-3rem;
+          margin-top:-2.5rem;
           vertical-align: top;
-          width:45%;
+          width:42%;
           display: inline-block;
           p{
             text-align: center;
             font-size: 1.4rem;
-            margin-top:-3rem;
+            margin:-2vh 0 0 0%;
           }
         }
       }
     }
     .card_right{
       .card2{
-        height:28em;
+        height:43vh;
       }
     }
     .card_bottom{
       padding-top:10px;
+      margin-bottom:-10px
     }
   }
 

+ 30 - 24
src/views/business/fireInternet/deviceMonitoring/waterMonitoring/device/index.vue

@@ -54,7 +54,7 @@
                 <div class="contain">
                   <index2
                   :resData="index2Data"
-                  style="width:100%;height:26em;" alt="折线图" />
+                  style="width:100%;height:40vh;" alt="折线图" />
                 </div>
               </el-card>
             </div>
@@ -108,11 +108,11 @@
                 >导出</el-button>
               </el-form>
             </div>
-            <el-table v-loading="loading4" :data="adminList" height="calc(100vh - 42em)" :default-sort = "{prop: 'createTime', order: 'descending'}" highlight-current-row>
-              <el-table-column label="序号" align="center" prop="id" />
-              <el-table-column label="单位名称" align="center" prop="companyName"/>
-              <el-table-column label="剩余电量" align="center" prop="pointData" />
-              <el-table-column label="报告时间" align="center" prop="createTime" sortable />
+            <el-table @row-click="clickData" v-loading="loading4" :data="adminList" height="calc(100vh - 67vh)" :default-sort = "{prop: 'createTime', order: 'descending'}" highlight-current-row>
+              <el-table-column label="序号" align="center" prop="id"  show-overflow-tooltip />
+              <el-table-column label="单位名称" align="center" prop="companyName"  show-overflow-tooltip />
+              <el-table-column label="剩余电量" align="center" prop="pointData"  show-overflow-tooltip />
+              <el-table-column label="报告时间" align="center" prop="createTime" sortable  show-overflow-tooltip />
             </el-table>
           </el-col>
       </el-row>
@@ -210,7 +210,13 @@ export default {
           }
         });
     },
-    tubiao(){
+    clickData(row){
+      this.tubiao(row.deviceId)
+    },
+    tubiao(id){
+      if(id){
+        this.queryParams.deviceId = id
+      }
       /* 饼图、折线图 */
         tbInfoList(this.queryParams).then(response =>{//pointCode=201 信息  pointCode=202 电量
           console.log(response)
@@ -352,7 +358,7 @@ export default {
   .box-card {
     margin-top:20px;
   }
-#main{
+  #main{
     margin-top:-20px;
     .box-card{
       .h2{
@@ -368,7 +374,7 @@ export default {
     }
     .card_left{
       .card1{
-        height:28em;
+        height:43vh;
         .title{
           width:100%;
           display: block;
@@ -381,58 +387,58 @@ export default {
             display: inline-block;
             vertical-align: middle;
             margin-left:2%;
-            font-size:1.4rem;
+            font-size:1.4vw;
           }
         }
         .contain{
-          margin-top:0.5rem;
-          width:45%;
+          margin-top:0.5vh;
+          width:58%;
           display: inline-block;
           vertical-align: top;
           div{
-            height:5rem;
+            height:7.8vh;
             span{
-              font-size: 1.2rem;
+              font-size: 1vw;
               vertical-align: middle;
-              width:80px;
+              width:4vw;
               text-align: left;
               display: inline-block;
             }
             div{
-              width:60%;
-              max-width:214px;
-              height:4rem;
+              width:212px;
+              height:6vh;
               vertical-align: middle;
               background:url("../../../../../../assets/images/operation_item.png") no-repeat right center;
               display: inline-block;
               p{
-                font-size: 1.6rem;
+                font-size: 1.4vw;
                 vertical-align: top;
-                margin:1rem 0 0 3rem;
+                margin:1vh 0 0 3vh;
               }
             }
           }
         }
         .contain2{
-          margin-top:-3rem;
+          margin-top:-2.5rem;
           vertical-align: top;
-          width:45%;
+          width:42%;
           display: inline-block;
           p{
             text-align: center;
             font-size: 1.4rem;
-            margin-top:-3rem;
+            margin:-2vh 0 0 0%;
           }
         }
       }
     }
     .card_right{
       .card2{
-        height:28em;
+        height:43vh;
       }
     }
     .card_bottom{
       padding-top:10px;
+      margin-bottom:-10px
     }
   }
  ::v-deep {

+ 27 - 27
src/views/business/fireInternet/deviceMonitoring/waterMonitoring/offLine/index.vue

@@ -60,7 +60,7 @@
                 <div class="contain">
                   <index2
                   :resData="index2Data"
-                  style="width:100%;height:26em;" alt="折线图" />
+                  style="width:100%;height:40vh;" alt="折线图" />
                 </div>
               </el-card>
             </div>
@@ -114,19 +114,19 @@
                 >导出</el-button>
               </el-form>
             </div>
-            <el-table v-loading="loading4" :data="adminList" height="calc(100vh - 42em)" :default-sort = "{prop: 'alarmTime', order: 'descending'}">
-              <el-table-column label="序号" align="center" prop="id" />
-              <el-table-column label="单位名称" align="center" prop="companyName"/>
-              <el-table-column label="报告时间" align="center" prop="alarmTime" sortable />
-              <el-table-column label="报告数据" align="center" prop="alertValue" />
-              <el-table-column label="报告内容" align="center" prop="alarmContent" />
+            <el-table v-loading="loading4" :data="adminList" height="calc(100vh - 67vh)" :default-sort = "{prop: 'alarmTime', order: 'descending'}">
+              <el-table-column label="序号" align="center" prop="id"  show-overflow-tooltip />
+              <el-table-column label="单位名称" align="center" prop="companyName" show-overflow-tooltip />
+              <el-table-column label="报告时间" align="center" prop="alarmTime" sortable  show-overflow-tooltip />
+              <el-table-column label="报告数据" align="center" prop="alertValue"  show-overflow-tooltip />
+              <el-table-column label="报告内容" align="center" prop="alarmContent"  show-overflow-tooltip />
               <el-table-column label="处理状态" align="center" >
                 <template slot-scope="scope">
                   <span>{{ scope.row.alarmStatus == 0 ? '未处理':scope.row.alarmStatus ==1 ? '已处理':'' }}</span>
                 </template>
               </el-table-column>
-              <el-table-column label="处理人" align="center" prop="updateBy" />
-              <el-table-column label="处理时间" align="center" prop="updateTime" />
+              <el-table-column label="处理人" align="center" prop="updateBy"  show-overflow-tooltip />
+              <el-table-column label="处理时间" align="center" prop="updateTime"  show-overflow-tooltip />
             </el-table>
           </el-col>
       </el-row>
@@ -184,7 +184,7 @@ export default {
         bigDeviceType:2,
         status:0,
         current:1,
-        size:6,
+        size:10,
         companyCode:undefined,
         status:undefined,
         num:0,
@@ -340,7 +340,7 @@ export default {
   .box-card {
     margin-top:20px;
   }
- #main{
+  #main{
     margin-top:-20px;
     .box-card{
       .h2{
@@ -356,7 +356,7 @@ export default {
     }
     .card_left{
       .card1{
-        height:28em;
+        height:43vh;
         .title{
           width:100%;
           display: block;
@@ -369,58 +369,58 @@ export default {
             display: inline-block;
             vertical-align: middle;
             margin-left:2%;
-            font-size:1.4rem;
+            font-size:1.4vw;
           }
         }
         .contain{
-          margin-top:0.5rem;
-          width:45%;
+          margin-top:0.5vh;
+          width:58%;
           display: inline-block;
           vertical-align: top;
           div{
-            height:5rem;
+            height:7.8vh;
             span{
-              font-size: 1.2rem;
+              font-size: 1vw;
               vertical-align: middle;
-              width:80px;
+              width:4vw;
               text-align: left;
               display: inline-block;
             }
             div{
-              width:60%;
-              max-width:214px;
-              height:4rem;
+              width:212px;
+              height:6vh;
               vertical-align: middle;
               background:url("../../../../../../assets/images/operation_item.png") no-repeat right center;
               display: inline-block;
               p{
-                font-size: 1.6rem;
+                font-size: 1.4vw;
                 vertical-align: top;
-                margin:1rem 0 0 3rem;
+                margin:1vh 0 0 3vh;
               }
             }
           }
         }
         .contain2{
-          margin-top:-3rem;
+          margin-top:-2.5rem;
           vertical-align: top;
-          width:45%;
+          width:42%;
           display: inline-block;
           p{
             text-align: center;
             font-size: 1.4rem;
-            margin-top:-3rem;
+            margin:-2vh 0 0 0%;
           }
         }
       }
     }
     .card_right{
       .card2{
-        height:28em;
+        height:43vh;
       }
     }
     .card_bottom{
       padding-top:10px;
+      margin-bottom:-10px
     }
   }
  ::v-deep {

+ 26 - 26
src/views/business/fireInternet/fireAlarm/fireMonitoring/index.vue

@@ -60,7 +60,7 @@
                 <div class="contain">
                   <index2
                   :resData="index2Data"
-                  style="width:100%;height:26em;" alt="折线图" />
+                  style="width:100%;height:40vh;" alt="折线图" />
                 </div>
               </el-card>
             </div>
@@ -114,19 +114,19 @@
                 >导出</el-button>
               </el-form>
             </div>
-            <el-table v-loading="loading4" :data="adminList" height="calc(100vh - 42em)" :default-sort = "{prop: 'alarmTime', order: 'descending'}">
-              <el-table-column label="序号" align="center" prop="id" />
-              <el-table-column label="单位名称" align="center" prop="companyName"/>
-              <el-table-column label="报告时间" align="center" prop="alarmTime" sortable />
-              <el-table-column label="报告数据" align="center" prop="alertValue" />
-              <el-table-column label="报告内容" align="center" prop="alarmContent" />
-              <el-table-column label="处理状态" align="center" >
+            <el-table v-loading="loading4" :data="adminList" height="calc(100vh - 67vh)" :default-sort = "{prop: 'alarmTime', order: 'descending'}">
+              <el-table-column label="序号" align="center" prop="id"  show-overflow-tooltip />
+              <el-table-column label="单位名称" align="center" prop="companyName" show-overflow-tooltip />
+              <el-table-column label="报告时间" align="center" prop="alarmTime" sortable  show-overflow-tooltip />
+              <el-table-column label="报告数据" align="center" prop="alertValue"  show-overflow-tooltip />
+              <el-table-column label="报告内容" align="center" prop="alarmContent"  show-overflow-tooltip />
+              <el-table-column label="处理状态" align="center"  show-overflow-tooltip >
                 <template slot-scope="scope">
                   <span>{{ scope.row.alarmStatus == 0 ? '未处理':scope.row.alarmStatus ==1 ? '已处理':'' }}</span>
                 </template>
               </el-table-column>
-              <el-table-column label="处理人" align="center" prop="updateBy" />
-              <el-table-column label="处理时间" align="center" prop="updateTime" />
+              <el-table-column label="处理人" align="center" prop="updateBy"  show-overflow-tooltip />
+              <el-table-column label="处理时间" align="center" prop="updateTime"  show-overflow-tooltip />
             </el-table>
           </el-col>
       </el-row>
@@ -355,7 +355,7 @@ export default {
     }
     .card_left{
       .card1{
-        height:28em;
+        height:43vh;
         .title{
           width:100%;
           display: block;
@@ -368,58 +368,58 @@ export default {
             display: inline-block;
             vertical-align: middle;
             margin-left:2%;
-            font-size:1.4rem;
+            font-size:1.4vw;
           }
         }
         .contain{
-          margin-top:0.5rem;
-          width:45%;
+          margin-top:0.5vh;
+          width:58%;
           display: inline-block;
           vertical-align: top;
           div{
-            height:5rem;
+            height:7.8vh;
             span{
-              font-size: 1.2rem;
+              font-size: 1vw;
               vertical-align: middle;
-              width:80px;
+              width:4vw;
               text-align: left;
               display: inline-block;
             }
             div{
-              width:60%;
-              max-width:214px;
-              height:4rem;
+              width:212px;
+              height:6vh;
               vertical-align: middle;
               background:url("../../../../../assets/images/operation_item.png") no-repeat right center;
               display: inline-block;
               p{
-                font-size: 1.6rem;
+                font-size: 1.4vw;
                 vertical-align: top;
-                margin:1rem 0 0 3rem;
+                margin:1vh 0 0 3vh;
               }
             }
           }
         }
         .contain2{
-          margin-top:-3rem;
+          margin-top:-2.5rem;
           vertical-align: top;
-          width:45%;
+          width:42%;
           display: inline-block;
           p{
             text-align: center;
             font-size: 1.4rem;
-            margin-top:-3rem;
+            margin:-2vh 0 0 0%;
           }
         }
       }
     }
     .card_right{
       .card2{
-        height:28em;
+        height:43vh;
       }
     }
     .card_bottom{
       padding-top:10px;
+      margin-bottom:-10px
     }
   }
 

+ 27 - 27
src/views/business/fireInternet/fireAlarm/waterAlarm/index.vue

@@ -60,7 +60,7 @@
                 <div class="contain">
                   <index2
                   :resData="index2Data"
-                  style="width:100%;height:26em;" alt="折线图" />
+                  style="width:100%;height:40vh;" alt="折线图" />
                 </div>
               </el-card>
             </div>
@@ -114,19 +114,19 @@
                 >导出</el-button>
               </el-form>
             </div>
-            <el-table v-loading="loading4" :data="adminList" height="calc(100vh - 42em)" :default-sort = "{prop: 'alarmTime', order: 'descending'}">
-              <el-table-column label="序号" align="center" prop="id" />
-              <el-table-column label="单位名称" align="center" prop="companyName"/>
-              <el-table-column label="报告时间" align="center" prop="alarmTime" sortable />
-              <el-table-column label="报告数据" align="center" prop="alertValue" />
-              <el-table-column label="报告内容" align="center" prop="alarmContent" />
-              <el-table-column label="处理状态" align="center" >
+            <el-table v-loading="loading4" :data="adminList" height="calc(100vh - 67vh)" :default-sort = "{prop: 'alarmTime', order: 'descending'}">
+              <el-table-column label="序号" align="center" prop="id"  show-overflow-tooltip />
+              <el-table-column label="单位名称" align="center" prop="companyName" show-overflow-tooltip />
+              <el-table-column label="报告时间" align="center" prop="alarmTime" sortable show-overflow-tooltip />
+              <el-table-column label="报告数据" align="center" prop="alertValue" show-overflow-tooltip />
+              <el-table-column label="报告内容" align="center" prop="alarmContent" show-overflow-tooltip />
+              <el-table-column label="处理状态" align="center"  show-overflow-tooltip >
                 <template slot-scope="scope">
                   <span>{{ scope.row.alarmStatus == 0 ? '未处理':scope.row.alarmStatus ==1 ? '已处理':'' }}</span>
                 </template>
               </el-table-column>
-              <el-table-column label="处理人" align="center" prop="updateBy" />
-              <el-table-column label="处理时间" align="center" prop="updateTime" />
+              <el-table-column label="处理人" align="center" prop="updateBy"  show-overflow-tooltip />
+              <el-table-column label="处理时间" align="center" prop="updateTime"  show-overflow-tooltip />
             </el-table>
           </el-col>
       </el-row>
@@ -339,7 +339,7 @@ export default {
   .box-card {
     margin-top:20px;
   }
-#main{
+  #main{
     margin-top:-20px;
     .box-card{
       .h2{
@@ -355,7 +355,7 @@ export default {
     }
     .card_left{
       .card1{
-        height:28em;
+        height:43vh;
         .title{
           width:100%;
           display: block;
@@ -368,58 +368,58 @@ export default {
             display: inline-block;
             vertical-align: middle;
             margin-left:2%;
-            font-size:1.4rem;
+            font-size:1.4vw;
           }
         }
         .contain{
-          margin-top:0.5rem;
-          width:45%;
+          margin-top:0.5vh;
+          width:58%;
           display: inline-block;
           vertical-align: top;
           div{
-            height:5rem;
+            height:7.8vh;
             span{
-              font-size: 1.2rem;
+              font-size: 1vw;
               vertical-align: middle;
-              width:80px;
+              width:4vw;
               text-align: left;
               display: inline-block;
             }
             div{
-              width:60%;
-              max-width:214px;
-              height:4rem;
+              width:212px;
+              height:6vh;
               vertical-align: middle;
               background:url("../../../../../assets/images/operation_item.png") no-repeat right center;
               display: inline-block;
               p{
-                font-size: 1.6rem;
+                font-size: 1.4vw;
                 vertical-align: top;
-                margin:1rem 0 0 3rem;
+                margin:1vh 0 0 3vh;
               }
             }
           }
         }
         .contain2{
-          margin-top:-3rem;
+          margin-top:-2.5rem;
           vertical-align: top;
-          width:45%;
+          width:42%;
           display: inline-block;
           p{
             text-align: center;
             font-size: 1.4rem;
-            margin-top:-3rem;
+            margin:-2vh 0 0 0%;
           }
         }
       }
     }
     .card_right{
       .card2{
-        height:28em;
+        height:43vh;
       }
     }
     .card_bottom{
       padding-top:10px;
+      margin-bottom:-10px
     }
   }
 

+ 28 - 28
src/views/business/fireInternet/hiddenDanger/index.vue

@@ -46,7 +46,7 @@
                       color="#80FFA5"
                       :size="21"
                       :with="16"
-                      :tick="false" style="width:100%" alt="饼图" />
+                      :tick="false" style="width:100%;" alt="饼图" />
                     <p>处置率</p>
                   </div>
                 </div>
@@ -60,7 +60,7 @@
                 <div class="contain">
                   <index2
                   :resData="index2Data"
-                  style="width:100%;height:26em;" alt="折线图" />
+                  style="width:100%;height:40vh;" alt="折线图" />
                 </div>
               </el-card>
             </div>
@@ -114,19 +114,19 @@
                 >导出</el-button>
               </el-form>
             </div>
-            <el-table v-loading="loading4" :data="adminList" height="calc(100vh - 42em)" :default-sort = "{prop: 'alarmTime', order: 'descending'}">
-              <el-table-column label="序号" align="center" prop="id" />
-              <el-table-column label="单位名称" align="center" prop="companyName"/>
-              <el-table-column label="报告时间" align="center" prop="alarmTime" sortable />
-              <el-table-column label="报告数据" align="center" prop="alertValue" />
-              <el-table-column label="报告内容" align="center" prop="alarmContent" />
-              <el-table-column label="处理状态" align="center" >
+            <el-table v-loading="loading4" :data="adminList" height="calc(100vh - 67vh)" :default-sort = "{prop: 'alarmTime', order: 'descending'}">
+              <el-table-column label="序号" align="center" prop="id"  show-overflow-tooltip />
+              <el-table-column label="单位名称" align="center" prop="companyName" show-overflow-tooltip />
+              <el-table-column label="报告时间" align="center" prop="alarmTime" sortable show-overflow-tooltip />
+              <el-table-column label="报告数据" align="center" prop="alertValue" show-overflow-tooltip />
+              <el-table-column label="报告内容" align="center" prop="alarmContent" show-overflow-tooltip />
+              <el-table-column label="处理状态" align="center"  show-overflow-tooltip >
                 <template slot-scope="scope">
                   <span>{{ scope.row.alarmStatus == 0 ? '未处理':scope.row.alarmStatus ==1 ? '已处理':'' }}</span>
                 </template>
               </el-table-column>
-              <el-table-column label="处理人" align="center" prop="updateBy" />
-              <el-table-column label="处理时间" align="center" prop="updateTime" />
+              <el-table-column label="处理人" align="center" prop="updateBy"  show-overflow-tooltip />
+              <el-table-column label="处理时间" align="center" prop="updateTime"  show-overflow-tooltip />
             </el-table>
           </el-col>
       </el-row>
@@ -183,7 +183,7 @@ export default {
         type:1,
         status:0,
         current:1,
-        size:6,
+        size:10,
         companyCode:undefined,
         status:undefined,
         num:0,
@@ -355,7 +355,7 @@ export default {
     }
     .card_left{
       .card1{
-        height:28em;
+        height:43vh;
         .title{
           width:100%;
           display: block;
@@ -368,58 +368,58 @@ export default {
             display: inline-block;
             vertical-align: middle;
             margin-left:2%;
-            font-size:1.4rem;
+            font-size:1.4vw;
           }
         }
         .contain{
-          margin-top:0.5rem;
-          width:45%;
+          margin-top:0.5vh;
+          width:58%;
           display: inline-block;
           vertical-align: top;
           div{
-            height:5rem;
+            height:7.8vh;
             span{
-              font-size: 1.2rem;
+              font-size: 1vw;
               vertical-align: middle;
-              width:80px;
+              width:4vw;
               text-align: left;
               display: inline-block;
             }
             div{
-              width:60%;
-              max-width:214px;
-              height:4rem;
+              width:212px;
+              height:6vh;
               vertical-align: middle;
               background:url("../../../../assets/images/operation_item.png") no-repeat right center;
               display: inline-block;
               p{
-                font-size: 1.6rem;
+                font-size: 1.4vw;
                 vertical-align: top;
-                margin:1rem 0 0 3rem;
+                margin:1vh 0 0 3vh;
               }
             }
           }
         }
         .contain2{
-          margin-top:-3rem;
+          margin-top:-2.5rem;
           vertical-align: top;
-          width:45%;
+          width:42%;
           display: inline-block;
           p{
             text-align: center;
             font-size: 1.4rem;
-            margin-top:-3rem;
+            margin:-2vh 0 0 0%;
           }
         }
       }
     }
     .card_right{
       .card2{
-        height:28em;
+        height:43vh;
       }
     }
     .card_bottom{
       padding-top:10px;
+      margin-bottom:-10px
     }
   }
 

+ 12 - 12
src/views/business/propertyMange/index.vue

@@ -43,10 +43,10 @@
         >导出</el-button>
       </el-form-item>
     </el-form>
-    <el-table v-loading="loading" :data="adminList" >
-    <el-table-column label="资产编号" align="center" prop="facilityNo" />
-    <el-table-column label="资产名称" align="center" prop="facilityName" />
-    <el-table-column label="资产类型" align="center" prop="facilityType" >
+    <el-table v-loading="loading" :data="adminList" height="calc(100vh - 28vh)">
+    <el-table-column label="资产编号" align="center" prop="facilityNo"  show-overflow-tooltip />
+    <el-table-column label="资产名称" align="center" prop="facilityName"  show-overflow-tooltip />
+    <el-table-column label="资产类型" align="center" prop="facilityType"  show-overflow-tooltip >
       <template slot-scope="scope">
         <span>{{ scope.row.facilityType == 1 ? '办公用品': scope.row.facilityType == 2 ? '办公设备' :
           scope.row.facilityType == 3 ? '计算机及外围设备': scope.row.facilityType == 4 ? '数码及影音设备' :
@@ -54,13 +54,13 @@
           scope.row.facilityType == 7 ? '其它': "" }}</span>
       </template>
     </el-table-column>
-    <el-table-column label="负责人" align="center" prop="man" />
-    <el-table-column label="购入方式" align="center" prop="purchase" />
-    <el-table-column label="存放地点" align="center" prop="addrs" />
-    <el-table-column label="购入日期" align="center" prop="buyTime" />
-    <el-table-column label="购买编号" align="center" prop="buyNo" />
-    <el-table-column label="发票号" align="center" prop="invoice" />
-    <el-table-column label="资产二维码" align="center" prop="qrurl">
+    <el-table-column label="负责人" align="center" prop="man"  show-overflow-tooltip />
+    <el-table-column label="购入方式" align="center" prop="purchase"  show-overflow-tooltip />
+    <el-table-column label="存放地点" align="center" prop="addrs"  show-overflow-tooltip />
+    <el-table-column label="购入日期" align="center" prop="buyTime"  show-overflow-tooltip />
+    <el-table-column label="购买编号" align="center" prop="buyNo"  show-overflow-tooltip />
+    <el-table-column label="发票号" align="center" prop="invoice"  show-overflow-tooltip />
+    <el-table-column label="资产二维码" align="center" prop="qrurl" show-overflow-tooltip >
       <template slot-scope="scope">
   <!--     <img :src="'http://172.16.120.104:8084/archive/' + scope.row.qrurl" width="40" height="40" class="head_pic"/> -->
           <el-image
@@ -91,7 +91,7 @@
       </el-table-column>
     </el-table>
     <!-- 修改、新增对话框 -->
-    <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body :before-close="cancel" :close-on-click-modal="false">
+    <el-dialog :title="title" :visible.sync="open" width="600px"  append-to-body :before-close="cancel" :close-on-click-modal="false">
       <el-form ref="form" :model="form" :rules="rules" label-width="120px" >
         <el-row>
           <el-col :span="12">

+ 3 - 3
src/views/components/fireInternetInfo/index1.vue

@@ -1,6 +1,6 @@
 <template>
   <el-row>
-    <div id="index1" ref="echartD" style="width:100%;height:300px;"></div>
+    <div id="index1" ref="echartD" style="width:100%;height:30vh;"></div>
   </el-row>
 </template>
 <script>
@@ -44,7 +44,7 @@ export default {
           {
             name: "仪表盘",
             type: "gauge",
-            radius: "55%", // 半径
+            radius: "65%", // 半径
             startAngle: 270, //开始角度 左侧角度
             endAngle: -89.999, //结束角度 右侧
             splitNumber: 20,
@@ -54,7 +54,7 @@ export default {
                   [this.dataMap, this.color],
                   [1, "#FF0087"],
                 ],
-                width: this.with,
+                width: 30,
               },
             },
             axisLabel: {

+ 1 - 1
src/views/components/index/index5.vue

@@ -1,6 +1,6 @@
 <template>
   <el-row>
-    <div id="index5" style="width:120%;height:260%;margin-left:-10%;"></div>
+    <div id="index5" style="width:120%;height:20vh;margin:0px 0 0 -10%;"></div>
   </el-row>
 </template>
 <script>

+ 31 - 30
src/views/index.vue

@@ -7,15 +7,15 @@
               <el-card class="box-card card_left1 " v-loading="loading1 && loading2">
                 <span class="h2">设备工况</span>
                 <div class="contain">
-                  <index1 :resData="index1Data"  style="width:100%;height:12em" alt="饼图" />
+                  <index1 :resData="index1Data"  style="width:100%;height:20vh" alt="饼图" />
                   <div class="title-btn">异常设备数</div>
-                  <index2 :resData="index2Data"  style="width:100%;height:17em;" alt="柱状图" />
+                  <index2 :resData="index2Data"  style="width:100%;height:24.5vh;" alt="柱状图" />
                 </div>
               </el-card>
               <el-card class="box-card card_left2 mg10" v-loading="loading3">
                 <span class="h2">报警处理</span>
                 <div class="contain">
-                  <index3 :resData="index3Data"  style="width:105%;height:calc(100vh - 44.5em);margin-left:-2.5%;" alt="折线图" />
+                  <index3 :resData="index3Data"  style="width:105%;height:calc(100vh - 55.5vh - 100px);margin-left:-2.5%;" alt="折线图" />
                 </div>
               </el-card>
             </div>
@@ -23,7 +23,7 @@
           <el-col :span="12">
             <div class="card_center">
               <el-card class="box-card card_center1" style="padding:0 !important">
-                  <div class="map" style="height:29.5em">
+                  <div class="map" style="height:45vh">
                     <iframe style="width:100%;height:100%" src='https://www.thingjs.com/s/ef7ee6a73896c01bda77e679?params=105b0f77fd24654d4eebc434e9'></iframe>
                   </div>
               </el-card>
@@ -32,7 +32,7 @@
                   <span class="h2">实时告警信息</span>
                 </div>
                 <div class="contain">
-                  <el-table :data="index4Data"  style="margin-top:10px" height="calc(100vh - 39.8em)">
+                  <el-table :data="index4Data"  style="margin-top:10px" height="calc(100vh - 54vh - 100px)">
                     <el-table-column label="告警id" align="center" prop="devIdx" />
                     <el-table-column label="告警时间" align="center" prop="time" show-overflow-tooltip />
                     <el-table-column label="告警设备" align="center" prop="devicename" show-overflow-tooltip />
@@ -59,7 +59,7 @@
                     <div class="total-square" v-for="(item,index) in timeList" :key="index">{{item}}</div>
                     <div class="title-btn">当前时间</div>
                   </div>
-                  <index5 :resData="index5Data"  style="width:100%" alt="横状图" />
+                  <index5 :resData="index5Data"  style="width:100%;" alt="横状图" />
                 </div>
               </el-card>
               <el-card class="box-card card_right2 mg10" v-loading="loading4">
@@ -67,8 +67,8 @@
                   <span class="h2">隐患处理</span>
                 </div>
                 <div class="contain">
-                  <div style="height:calc(100% - 0.7rem)">
-                    <ul id="pop" style="height:45%">
+                  <div>
+                    <ul id="pop">
                       <li>
                           <div>
                               <p class="num-huan color-green">{{collectList.checkCount}}</p>
@@ -95,10 +95,10 @@
                       </li>
                     </ul>
                   </div>
-                  <div class="title-btn" style="margin:10px auto">异常设备数</div>
+                  <!-- <div class="title-btn" style="margin:10px auto">异常设备数</div> -->
                   <div>
                     <div>
-                      <el-table :data="index6Data" height="calc(100vh - 54em)">
+                      <el-table :data="index6Data" height="calc(100vh - 60.5vh - 100px)">
                         <el-table-column label="序号" align="center" prop="id" />
                         <el-table-column label="告警值" align="center" prop="property" show-overflow-tooltip />
                         <el-table-column label="当前状态" align="center" prop="alarmStatus" >
@@ -175,6 +175,7 @@ export default {
   },
   methods: {
     getList(){
+      
       /* 设备工况 */
         /* 饼图 */
         index1Api().then(response =>{
@@ -298,17 +299,16 @@ export default {
         text-align: center;
         margin:0 auto;
         display: block;
-        font-size: 1.2em;
+        font-size: 1.2vw;
         background-image: -webkit-linear-gradient(bottom, #00adce, #000);
         -webkit-background-clip: text;
         -webkit-text-fill-color: transparent;
-
       }
     }
     .card_left{
       height:100%;
       .card_left1{
-        height:32em;
+        height:48vh;
         .contain{
           &>div{
             display: inline-block;
@@ -337,7 +337,7 @@ export default {
         }
       }
       .card_left2{
-        height:calc(100vh - 39.2em);
+        height:calc(100vh - 48vh - 100px);
         .contain{
           margin:20px auto 0;
           text-align: left;
@@ -387,45 +387,45 @@ export default {
     }
     .card_center{
       .card_center1{
-        height:32em;
+        height:48vh;
       }
       .card_center2{
-        height:calc(100vh - 39.2em);
+        height:calc(100vh - 48vh - 100px);
       }
     }
     .card_right{
       .card_right1{
-        height:32em;
+        height:35.5vh;
         #total-squares {
-          margin: 2rem auto;
+          margin: 2vh auto 0;
           text-align: center;
           .total-square {
             display: inline-block;
-            width: 3rem;
-            height: 3rem;
-            line-height: 3rem;
+            width: 2.5vw;
+            height: 2.5vw;
+            line-height: 2.5vw;
             border: 1px solid rgba(0, 212, 233, .4);
-            font-size: 1.6rem;
+            font-size: 1.6vw;
             color: #000;
-            margin-left:1rem;
+            margin-left:1vw;
           }
         }
       }
       .card_right2{
-        height:calc(100vh - 39.2em);
+        height:calc(100vh - 35.5vh - 100px);
       }
     }
   }
 .title-btn{
   width:40%;
-  margin:2rem 30% 0rem;
-  line-height: 1.8rem;
+  margin:2vh 30% 0vh;
+  line-height: 2.8vh;
   color: #fff;
   background: rgba(0, 130, 255, .4);
   border: 2px solid rgba(0, 130, 255, .4);
   border-radius: 10px;
   text-align: center;
-  font-size: 1.2rem;
+  font-size: 1vw;
 }
 #pop {
   width:90%;
@@ -444,14 +444,15 @@ export default {
 #pop li {
     justify-content: center;
     align-items: center;
-    margin-top: 1rem;
+    margin-top: 2vh;
+    padding: 1vh 0 ;
 }
 #pop li:nth-child(2n){
   margin-left:10%;
 }
 
 .num-huan {
-    font-size: 1.5rem;
+    font-size: 1.5vh;
     margin-top:4px;
 }
 .color-green {
@@ -475,7 +476,7 @@ export default {
 }
 .des-huan {
     max-width: 100%;
-    font-size: 1rem;
+    font-size: 1vh;
     color: #02DDF2;
     margin-top:-15px;
 

+ 1 - 1
src/views/monitor/logininfor/index.vue

@@ -185,7 +185,7 @@ export default {
     resetQuery() {
       this.dateRange = [];
       this.resetForm("queryForm");
-      this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order)
+      // this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order)
       this.handleQuery();
     },
     /** 多选框选中数据 */

+ 11 - 15
src/views/system/product/index.vue

@@ -13,11 +13,7 @@
       </el-form-item>
       <el-form-item>
         <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
-        <!-- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> -->
-      </el-form-item>
-    </el-form>
-    <el-row :gutter="10" class="mb8">
-      <el-col :span="1.5">
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
         <el-button
           type="primary"
           plain
@@ -26,28 +22,28 @@
           @click="handleAdd"
           v-hasPermi="['system:admin:add']"
         >新增</el-button>
-      </el-col>
-    </el-row>
+      </el-form-item>
+    </el-form>
 
-    <el-table v-loading="loading" :data="adminList" >
+    <el-table v-loading="loading" :data="adminList" height="calc(100vh - 28vh)">
       <!-- <el-table-column label="单位编号" align="center" prop="ownerId"/> -->
-      <el-table-column label="单位名称" align="center" prop="name" />
+      <el-table-column label="单位名称" align="center" prop="name" show-overflow-tooltip/>
       <!-- <el-table-column label="所属建筑id" align="center" prop="buildingId" />
       <el-table-column label="单位联系人" align="center" prop="contacts" /> -->
-      <el-table-column label="单位介绍" align="center" prop="remark" />
+      <el-table-column label="单位介绍" align="center" prop="remark" show-overflow-tooltip/>
       <el-table-column label="公司LOGO">
         <template slot-scope="scope">
           <el-image
-            v-if="scope.row.qrurl"
-            style="width: 24px; height: 24px"
+            v-if="scope.row.logo"
+            style="width: 50px; height: 50px"
             :preview-src-list="['https://smartpark.caih.com/dmapi/archive/' + scope.row.logo]"
             :src="'https://smartpark.caih.com/dmapi/archive/' + scope.row.logo">
           </el-image>
     </template>
       </el-table-column>
-      <el-table-column label="创建人" align="center" prop="createBy" />
-      <el-table-column label="创建时间" align="center" prop="createTime" />
-      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+      <el-table-column label="创建人" align="center" prop="createBy" show-overflow-tooltip/>
+      <el-table-column label="创建时间" align="center" prop="createTime" show-overflow-tooltip/>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
         <template slot-scope="scope">
           <el-button
             size="mini"

+ 4 - 0
src/views/system/role/index.vue

@@ -599,6 +599,8 @@ export default {
               this.msgSuccess("修改成功");
               this.open = false;
               this.getList();
+            }).catch(()=>{
+              this.loading = false
             });
           } else {
             this.form.menuIds = this.getMenuAllCheckedKeys();
@@ -607,6 +609,8 @@ export default {
               this.msgSuccess("新增成功");
               this.open = false;
               this.getList();
+            }).catch(()=>{
+              this.loading = false
             });
           }
         }

+ 571 - 0
src/views/system/security/index.vue

@@ -0,0 +1,571 @@
+<template>
+  <div class="app-container">
+    <!-- <el-form :model="queryParams" ref="queryForm" v-show="showSearch" :inline="true">
+      <el-form-item label="角色名称" prop="roleName">
+        <el-input
+          v-model="queryParams.roleName"
+          placeholder="请输入角色名称"
+          clearable
+          size="small"
+          style="width: 240px"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="权限字符" prop="roleKey">
+        <el-input
+          v-model="queryParams.roleKey"
+          placeholder="请输入权限字符"
+          clearable
+          size="small"
+          style="width: 240px"
+          @keyup.enter.native="handleQuery"
+        />
+      </el-form-item>
+      <el-form-item label="状态" prop="status">
+        <el-select
+          v-model="queryParams.status"
+          placeholder="角色状态"
+          clearable
+          size="small"
+          style="width: 240px"
+        >
+          <el-option
+            v-for="dict in statusOptions"
+            :key="dict.dictValue"
+            :label="dict.dictLabel"
+            :value="dict.dictValue"
+          />
+        </el-select>
+      </el-form-item>
+      <el-form-item label="创建时间">
+        <el-date-picker
+          v-model="dateRange"
+          size="small"
+          style="width: 240px;margin-top:5px;"
+          value-format="yyyy-MM-dd"
+          type="daterange"
+          range-separator="-"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期"
+        ></el-date-picker>
+      </el-form-item>
+      <el-form-item>
+        <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+        <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
+      </el-form-item>
+    </el-form> -->
+    <el-row :gutter="10" class="mb8">
+      <el-col :span="1.5">
+        <el-button
+          type="primary"
+          plain
+          icon="el-icon-plus"
+          size="mini"
+          @click="handleAdd"
+          v-hasPermi="['system:role:add']"
+        >新增</el-button>
+      </el-col>
+      <!-- <el-col :span="1.5">
+        <el-button
+          type="success"
+          plain
+          icon="el-icon-edit"
+          size="mini"
+          :disabled="single"
+          @click="handleUpdate"
+          v-hasPermi="['system:role:edit']"
+        >修改</el-button>
+      </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="danger"
+          plain
+          icon="el-icon-delete"
+          size="mini"
+          :disabled="multiple"
+          @click="handleDelete"
+          v-hasPermi="['system:role:remove']"
+        >删除</el-button>
+      </el-col> -->
+      <!-- <el-col :span="1.5">
+        <el-button
+          type="warning"
+          plain
+          icon="el-icon-download"
+          size="mini"
+          :loading="exportLoading"
+          @click="handleExport"
+          v-hasPermi="['system:role:export']"
+        >导出</el-button>
+      </el-col> -->
+      <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> -->
+    </el-row>
+
+    <el-table v-loading="loading" :data="roleList" @selection-change="handleSelectionChange">
+      <el-table-column type="selection" width="55" align="center" />
+      <el-table-column label="编号" prop="roleId" width="120" />
+      <el-table-column label="密码长度" prop="roleSort" width="100" />
+      <el-table-column label="账号锁定次数" prop="roleSort" width="100" />
+      <el-table-column label="大小写敏感" align="center" width="100">
+        <template slot-scope="scope">
+          <el-switch
+            v-model="scope.row.status"
+            active-value="0"
+            inactive-value="1"
+            @change="handleStatusChange(scope.row)"
+          ></el-switch>
+        </template>
+      </el-table-column>
+      <el-table-column label="创建时间" align="center" prop="createTime" width="180">
+        <template slot-scope="scope">
+          <span>{{ parseTime(scope.row.createTime) }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
+        <template slot-scope="scope" v-if="scope.row.roleId !== 1">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:role:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:role:remove']"
+          >删除</el-button>
+        </template>
+      </el-table-column>
+    </el-table>
+
+    <pagination
+      v-show="total>0"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+
+    <!-- 添加或修改角色配置对话框 -->
+    <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body :before-close="cancel" :close-on-click-modal="false">
+      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+        <el-form-item label="密码长度" prop="roleName">
+          <el-input v-model.trim="form.roleName" placeholder="请输入密码长度" maxlength="20" show-word-limit/>
+        </el-form-item>
+        <el-form-item label="账号锁定次数" prop="roleSort">
+          <el-input-number v-model="form.roleSort" controls-position="right" :min="0" />
+        </el-form-item>
+        <el-form-item label="大小写敏感">
+          <el-radio-group v-model="form.status">
+            <el-radio
+              v-for="dict in statusOptions"
+              :key="dict.dictValue"
+              :label="dict.dictValue"
+            >{{dict.dictLabel}}</el-radio>
+          </el-radio-group>
+        </el-form-item>
+      </el-form>
+      <div slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitForm" v-if="!loading">确 定</el-button>
+        <el-button :loading="loading" type="primary"  v-else>提交中...</el-button>
+        <el-button @click="cancel">取 消</el-button>
+      </div>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import { listRole, getRole, delRole, addRole, updateRole, exportRole, dataScope, changeRoleStatus } from "@/api/system/role";
+import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu";
+import { treeselect as deptTreeselect, roleDeptTreeselect } from "@/api/system/dept";
+
+export default {
+  name: "Role",
+  data() {
+    return {
+      // 遮罩层
+      loading: true,
+      // 导出遮罩层
+      exportLoading: false,
+      // 选中数组
+      ids: [],
+      // 非单个禁用
+      single: true,
+      // 非多个禁用
+      multiple: true,
+      // 显示搜索条件
+      showSearch: true,
+      // 总条数
+      total: 0,
+      // 角色表格数据
+      roleList: [],
+      // 弹出层标题
+      title: "",
+      // 是否显示弹出层
+      open: false,
+      // 是否显示弹出层(数据权限)
+      openDataScope: false,
+      menuExpand: false,
+      menuNodeAll: false,
+      deptExpand: true,
+      deptNodeAll: false,
+      // 日期范围
+      dateRange: [],
+      // 状态数据字典
+      statusOptions: [],
+      // 数据范围选项
+      dataScopeOptions: [
+        {
+          value: "1",
+          label: "全部数据权限"
+        },
+        {
+          value: "2",
+          label: "自定数据权限"
+        },
+        {
+          value: "3",
+          label: "本部门数据权限"
+        },
+        {
+          value: "4",
+          label: "本部门及以下数据权限"
+        },
+        {
+          value: "5",
+          label: "仅本人数据权限"
+        }
+      ],
+      // 菜单列表
+      menuOptions: [],
+      // 部门列表
+      deptOptions: [],
+      // 查询参数
+      queryParams: {
+        pageNum: 1,
+        pageSize: 10,
+        roleName: undefined,
+        roleKey: undefined,
+        status: undefined
+      },
+      // 表单参数
+      form: {},
+      defaultProps: {
+        children: "children",
+        label: "label"
+      },
+      // 表单校验
+      rules: {
+        roleName: [
+          { required: true, message: "角色名称不能为空", trigger: "blur" }
+        ],
+        roleKey: [
+          { required: true, message: "权限字符不能为空", trigger: "blur" }
+        ],
+        roleSort: [
+          { required: true, message: "角色顺序不能为空", trigger: "blur" }
+        ]
+      }
+    };
+  },
+  created() {
+    this.getList();
+    this.getDicts("sys_normal_disable").then(response => {
+      this.statusOptions = response.data;
+    });
+
+  },
+  methods: {
+    /** 查询角色列表 */
+    getList() {
+      this.loading = true;
+      listRole(this.addDateRange(this.queryParams, this.dateRange)).then(
+        response => {
+          console.log(response)
+          this.roleList = response.data.rows;
+          this.total = response.data.total;
+          this.loading = false;
+        }
+      );
+    },
+    /** 查询菜单树结构 */
+    getMenuTreeselect() {
+      menuTreeselect().then(response => {
+        this.menuOptions = response.data;
+      });
+    },
+    /** 查询部门树结构 */
+    getDeptTreeselect() {
+      deptTreeselect().then(response => {
+        this.deptOptions = response.data;
+      });
+    },
+    // 所有菜单节点数据
+    getMenuAllCheckedKeys() {
+      // 目前被选中的菜单节点
+      let checkedKeys = this.$refs.menu.getCheckedKeys();
+      // 半选中的菜单节点
+      let halfCheckedKeys = this.$refs.menu.getHalfCheckedKeys();
+      checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys);
+      return checkedKeys;
+    },
+    // 所有部门节点数据
+    getDeptAllCheckedKeys() {
+      // 目前被选中的部门节点
+      let checkedKeys = this.$refs.dept.getCheckedKeys();
+      // 半选中的部门节点
+      let halfCheckedKeys = this.$refs.dept.getHalfCheckedKeys();
+      checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys);
+      return checkedKeys;
+    },
+    /** 根据角色ID查询菜单树结构 */
+    getRoleMenuTreeselect(roleId) {
+      return roleMenuTreeselect(roleId).then(response => {
+        this.menuOptions = response.data.menus;
+        return response;
+      });
+    },
+    /** 根据角色ID查询部门树结构 */
+    getRoleDeptTreeselect(roleId) {
+      return roleDeptTreeselect(roleId).then(response => {
+        this.deptOptions = response.data.depts;
+        return response;
+      });
+    },
+    // 角色状态修改
+    handleStatusChange(row) {
+      let text = row.status === "0" ? "启用" : "停用";
+      this.$confirm('确认要"' + text + '""' + row.roleName + '"角色吗?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return changeRoleStatus(row.roleId, row.status);
+        }).then(() => {
+          this.msgSuccess(text + "成功");
+        }).catch(function() {
+          row.status = row.status === "0" ? "1" : "0";
+        });
+    },
+    // 取消按钮
+    cancel() {
+      this.open = false;
+      this.reset();
+    },
+    // 取消按钮(数据权限)
+    cancelDataScope() {
+      this.openDataScope = false;
+      this.reset();
+    },
+    // 表单重置
+    reset() {
+      if (this.$refs.menu != undefined) {
+        this.$refs.menu.setCheckedKeys([]);
+      }
+      this.menuExpand = false,
+      this.menuNodeAll = false,
+      this.deptExpand = true,
+      this.deptNodeAll = false,
+      this.form = {
+        roleId: undefined,
+        roleName: undefined,
+        roleKey: undefined,
+        roleSort: 0,
+        status: "0",
+        menuIds: [],
+        deptIds: [],
+        menuCheckStrictly: true,
+        deptCheckStrictly: true,
+        remark: undefined
+      };
+      this.resetForm("form");
+    },
+    /** 搜索按钮操作 */
+    handleQuery() {
+      this.queryParams.pageNum = 1;
+      this.getList();
+    },
+    /** 重置按钮操作 */
+    resetQuery() {
+      this.dateRange = [];
+      this.resetForm("queryForm");
+      this.handleQuery();
+    },
+    // 多选框选中数据
+    handleSelectionChange(selection) {
+      this.ids = selection.map(item => item.roleId)
+      this.single = selection.length!=1
+      this.multiple = !selection.length
+    },
+    // 更多操作触发
+    handleCommand(command, row) {
+      switch (command) {
+        case "handleDataScope":
+          this.handleDataScope(row);
+          break;
+        case "handleAuthUser":
+          this.handleAuthUser(row);
+          break;
+        default:
+          break;
+      }
+    },
+    // 树权限(展开/折叠)
+    handleCheckedTreeExpand(value, type) {
+      if (type == 'menu') {
+        let treeList = this.menuOptions;
+        for (let i = 0; i < treeList.length; i++) {
+          this.$refs.menu.store.nodesMap[treeList[i].id].expanded = value;
+        }
+      } else if (type == 'dept') {
+        let treeList = this.deptOptions;
+        for (let i = 0; i < treeList.length; i++) {
+          this.$refs.dept.store.nodesMap[treeList[i].id].expanded = value;
+        }
+      }
+    },
+    // 树权限(全选/全不选)
+    handleCheckedTreeNodeAll(value, type) {
+      if (type == 'menu') {
+        this.$refs.menu.setCheckedNodes(value ? this.menuOptions: []);
+      } else if (type == 'dept') {
+        this.$refs.dept.setCheckedNodes(value ? this.deptOptions: []);
+      }
+    },
+    // 树权限(父子联动)
+    handleCheckedTreeConnect(value, type) {
+      if (type == 'menu') {
+        this.form.menuCheckStrictly = value ? true: false;
+      } else if (type == 'dept') {
+        this.form.deptCheckStrictly = value ? true: false;
+      }
+    },
+    /** 新增按钮操作 */
+    handleAdd() {
+      this.reset();
+      this.getMenuTreeselect();
+      this.open = true;
+      this.title = "添加角色";
+    },
+    /** 修改按钮操作 */
+    handleUpdate(row) {
+      this.reset();
+      const roleId = row.roleId || this.ids
+      const roleMenu = this.getRoleMenuTreeselect(roleId);
+      getRole(roleId).then(response => {
+        this.form = response.data;
+        this.open = true;
+        this.$nextTick(() => {
+          roleMenu.then(res => {
+            let checkedKeys = res.data.checkedKeys
+            checkedKeys.forEach((v) => {
+                this.$nextTick(()=>{
+                    this.$refs.menu.setChecked(v, true ,false);
+                })
+            })
+          });
+        });
+        this.title = "修改角色";
+      });
+    },
+    /** 选择角色权限范围触发 */
+    dataScopeSelectChange(value) {
+      if(value !== '2') {
+        this.$refs.dept.setCheckedKeys([]);
+      }
+    },
+    /** 分配数据权限操作 */
+    handleDataScope(row) {
+      this.reset();
+      const roleDeptTreeselect = this.getRoleDeptTreeselect(row.roleId);
+      getRole(row.roleId).then(response => {
+        this.form = response.data;
+        this.openDataScope = true;
+        this.$nextTick(() => {
+          roleDeptTreeselect.then(res => {
+            this.$refs.dept.setCheckedKeys(res.data.checkedKeys);
+          });
+        });
+        this.title = "分配数据权限";
+      });
+    },
+    /** 分配用户操作 */
+    handleAuthUser: function(row) {
+      const roleId = row.roleId;
+      this.$router.push("/system/role-auth/user/" + roleId);
+    },
+    /** 提交按钮 */
+    submitForm: function() {
+      this.$refs["form"].validate(valid => {
+        if (valid) {
+          this.loading = true
+          if (this.form.roleId != undefined) {
+            this.form.menuIds = this.getMenuAllCheckedKeys();
+            updateRole(this.form).then(response => {
+              this.loading = false
+              this.msgSuccess("修改成功");
+              this.open = false;
+              this.getList();
+            }).catch(()=>{
+              this.loading = false
+            });
+          } else {
+            this.form.menuIds = this.getMenuAllCheckedKeys();
+            addRole(this.form).then(response => {
+              this.loading = false
+              this.msgSuccess("新增成功");
+              this.open = false;
+              this.getList();
+            }).catch(()=>{
+              this.loading = false
+            });
+          }
+        }
+      });
+    },
+    /** 提交按钮(数据权限) */
+    submitDataScope: function() {
+      if (this.form.roleId != undefined) {
+        this.form.deptIds = this.getDeptAllCheckedKeys();
+        dataScope(this.form).then(response => {
+          this.msgSuccess("修改成功");
+          this.openDataScope = false;
+          this.getList();
+        });
+      }
+    },
+    /** 删除按钮操作 */
+    handleDelete(row) {
+      const roleIds = row.roleId || this.ids;
+      this.$confirm('是否确认删除角色编号为"' + roleIds + '"的数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(function() {
+          return delRole(roleIds);
+        }).then(() => {
+          this.getList();
+          this.msgSuccess("删除成功");
+        }).catch(() => {});
+    },
+    /** 导出按钮操作 */
+    handleExport() {
+      const queryParams = this.queryParams;
+      this.$confirm('是否确认导出所有角色数据项?', "警告", {
+          confirmButtonText: "确定",
+          cancelButtonText: "取消",
+          type: "warning"
+        }).then(() => {
+          this.exportLoading = true;
+          return exportRole(queryParams);
+        }).then(response => {
+          this.download(response.msg);
+          this.exportLoading = false;
+        }).catch(() => {});
+    }
+  }
+};
+</script>

+ 19 - 16
src/views/system/user/index.vue

@@ -280,8 +280,8 @@
         </el-row>
         <el-row>
           <el-col :span="12">
-            <el-form-item label="岗位" prop="postIds2">
-              <el-select v-model="form.postIds2"  placeholder="请选择" >
+            <el-form-item label="岗位" prop="postIds">
+              <el-select v-model="form.postIds"  placeholder="请选择" >
                 <el-option
                   v-for="item in postOptions"
                   :key="item.postId"
@@ -293,9 +293,9 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="角色" prop="roleIds2">
+            <el-form-item label="角色" prop="roleIds">
               <!-- multiple -->
-              <el-select v-model="form.roleIds2"  placeholder="请选择" >
+              <el-select v-model="form.roleIds"  placeholder="请选择" >
                 <el-option
                   v-for="item in roleOptions"
                   :key="item.roleId"
@@ -472,7 +472,7 @@ export default {
             trigger: "blur"
           }
         ],
-        roleIds2:[
+        roleIds:[
            { required: true, message: "用户角色不能为空", trigger: "change"},
         ],
 
@@ -607,7 +607,7 @@ export default {
     handleAdd() {
       this.getTreeselect();
       getUser().then(response => {
-        this.postOptions = response.data.posts;
+        this.postOptions = response.data.posts
         this.roleOptions = response.data.roles;
         this.open = true;
         this.title = "添加用户";
@@ -619,15 +619,18 @@ export default {
       this.getTreeselect();
       const userId = row.userId || this.ids;
       getUser(userId).then(response => {
-        this.form = JSON.parse(JSON.stringify(response.data.data));
-        this.postOptions = response.data.posts;
+        this.form = response.data.data;
+        this.postOptions = response.data.posts
         this.roleOptions = response.data.roles;
-        this.form.postIds2 = Number(response.data.postIds);
-        this.form.roleIds2 = Number(response.data.roleIds);
-        console.log(this.roleOptions)
-        this.open = true;
-        this.title = "修改用户";
-        this.form.password = "";
+
+        this.form.postIds = response.data.postIds[0]
+        this.form.roleIds = response.data.roleIds[0]
+          // this.form.postIds2 = this.form.postIds;
+          // this.form.roleIds2 = this.form.roleIds;
+          this.open = true;
+          this.title = "修改用户";
+          this.form.password = "";
+        
       });
     },
     /** 重置密码按钮操作 */
@@ -657,9 +660,9 @@ export default {
           let postIds = []
           let roleIds = []
           if(this.form.postIds){
-            postIds.push(this.form.postIds2)
+            postIds.push(this.form.postIds)
           }
-          roleIds.push(this.form.roleIds2)
+          roleIds.push(this.form.roleIds)
           this.form.postIds = postIds
           this.form.roleIds = roleIds
           if (this.form.userId != undefined) {

Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio