wangtao 3 gadi atpakaļ
vecāks
revīzija
34b10485b4
92 mainītis faili ar 1423 papildinājumiem un 766 dzēšanām
  1. 2 2
      .env.development
  2. 2 2
      .env.production
  3. 1 1
      .env.staging
  4. BIN
      deviceManager.zip
  5. BIN
      deviceManager/favicon.ico
  6. 210 0
      deviceManager/html/ie.html
  7. 181 0
      deviceManager/index.html
  8. 2 0
      deviceManager/robots.txt
  9. 0 0
      deviceManager/static/css/app.43274e33.css
  10. 0 0
      deviceManager/static/css/chunk-1d963824.9233a1d8.css
  11. 1 0
      deviceManager/static/css/chunk-2d1d87f5.f4f45be1.css
  12. 0 0
      deviceManager/static/css/chunk-4b5668c0.2cbded2b.css
  13. 0 0
      deviceManager/static/css/chunk-54d46b3c.90f0c9a0.css
  14. 1 0
      deviceManager/static/css/chunk-58e08142.4f216fb8.css
  15. 1 0
      deviceManager/static/css/chunk-60a3932e.38cf5e73.css
  16. 1 0
      deviceManager/static/css/chunk-6a3a862b.02c39c52.css
  17. 4 0
      deviceManager/static/css/chunk-7e10f382.84f98409.css
  18. 15 0
      deviceManager/static/css/chunk-libs.ea078ece.css
  19. BIN
      deviceManager/static/fonts/element-icons.535877f5.woff
  20. BIN
      deviceManager/static/fonts/element-icons.732389de.ttf
  21. BIN
      deviceManager/static/img/1.8284d1cf.gif
  22. BIN
      deviceManager/static/img/401.089007e7.gif
  23. BIN
      deviceManager/static/img/404.a57b6f31.png
  24. BIN
      deviceManager/static/img/404_cloud.0f4bc32b.png
  25. BIN
      deviceManager/static/img/bg.1a7b14da.png
  26. 39 0
      deviceManager/static/img/dark.412ca67e.svg
  27. 39 0
      deviceManager/static/img/light.4183aad0.svg
  28. BIN
      deviceManager/static/img/logo-b.fd92c04e.png
  29. BIN
      deviceManager/static/img/logo.847312f6.png
  30. 0 0
      deviceManager/static/js/app.d289ab42.js
  31. 0 0
      deviceManager/static/js/chunk-1d963824.7aabfab6.js
  32. 0 0
      deviceManager/static/js/chunk-2d0b2b28.9ffc10ea.js
  33. 0 0
      deviceManager/static/js/chunk-2d0e2366.68f2ed78.js
  34. 1 0
      deviceManager/static/js/chunk-2d0f012d.1bde8e38.js
  35. 1 0
      deviceManager/static/js/chunk-2d1d87f5.ece9ce13.js
  36. 1 0
      deviceManager/static/js/chunk-4b5668c0.9debb8a0.js
  37. 0 0
      deviceManager/static/js/chunk-54d46b3c.2efbbd92.js
  38. 0 0
      deviceManager/static/js/chunk-58e08142.20141459.js
  39. 0 0
      deviceManager/static/js/chunk-60a3932e.5c747d2e.js
  40. 0 0
      deviceManager/static/js/chunk-6a3a862b.0fb59377.js
  41. 0 0
      deviceManager/static/js/chunk-7e10f382.480481c1.js
  42. 0 0
      deviceManager/static/js/chunk-elementUI.7ae3ef1a.js
  43. 0 0
      deviceManager/static/js/chunk-libs.b64e9255.js
  44. 2 13
      public/html/ie.html
  45. 31 0
      src/App.vue
  46. 1 1
      src/api/business/OM/eventCenter/index.js
  47. 1 1
      src/api/recharge/channel.js
  48. 44 1
      src/api/system/product.js
  49. 2 2
      src/assets/js/common.js
  50. 4 0
      src/assets/styles/index.scss
  51. 12 12
      src/layout/components/Navbar.vue
  52. 1 1
      src/layout/components/Sidebar/Logo.vue
  53. 15 10
      src/main.js
  54. 1 1
      src/permission.js
  55. 1 1
      src/router/index.js
  56. 3 4
      src/utils/request.js
  57. 19 24
      src/views/business/OM/eventCenter/alarm/index.vue
  58. 28 31
      src/views/business/OM/eventCenter/event/index.vue
  59. 17 19
      src/views/business/OM/eventCenter/hiddenDanger/index.vue
  60. 15 15
      src/views/business/OM/workMange/index.vue
  61. 7 9
      src/views/business/buildMange/building/index.vue
  62. 6 8
      src/views/business/buildMange/floor/index.vue
  63. 9 12
      src/views/business/buildMange/room/index.vue
  64. 28 22
      src/views/business/deviceMange/deviceApi/index.vue
  65. 11 13
      src/views/business/deviceMange/deviceList/index.vue
  66. 25 18
      src/views/business/deviceMange/devicePassageWay/index.vue
  67. 8 10
      src/views/business/deviceMange/deviceType/index.vue
  68. 46 91
      src/views/business/fireInternet/deviceMonitoring/SSMonitoring/index.vue
  69. 27 36
      src/views/business/fireInternet/deviceMonitoring/fireMonitoring/index.vue
  70. 29 40
      src/views/business/fireInternet/deviceMonitoring/waterMonitoring/device/index.vue
  71. 28 39
      src/views/business/fireInternet/deviceMonitoring/waterMonitoring/offLine/index.vue
  72. 28 36
      src/views/business/fireInternet/fireAlarm/fireMonitoring/index.vue
  73. 29 37
      src/views/business/fireInternet/fireAlarm/waterAlarm/index.vue
  74. 27 36
      src/views/business/fireInternet/hiddenDanger/index.vue
  75. 52 23
      src/views/business/propertyMange/index.vue
  76. 1 1
      src/views/components/fireAlarm/index1.vue
  77. 1 1
      src/views/components/fireAlarm/index2.vue
  78. 1 1
      src/views/components/fireInternetInfo/index1.vue
  79. 95 27
      src/views/components/fireInternetInfo/index2.vue
  80. 1 1
      src/views/components/index/index1.vue
  81. 5 1
      src/views/components/index/index2.vue
  82. 89 29
      src/views/components/index/index3.vue
  83. 34 40
      src/views/index.vue
  84. 1 1
      src/views/recharge/admin/index.vue
  85. 1 1
      src/views/register.vue
  86. 10 6
      src/views/system/dept/index.vue
  87. 7 7
      src/views/system/menu/index.vue
  88. 83 53
      src/views/system/product/index.vue
  89. 3 4
      src/views/system/role/index.vue
  90. 28 18
      src/views/system/user/index.vue
  91. 3 3
      src/views/system/user/profile/resetPwd.vue
  92. 1 1
      vue.config.js

+ 2 - 2
.env.development

@@ -1,10 +1,10 @@
 # 页面标题
-VUE_APP_TITLE = 设备设施管理系统
+VUE_APP_TITLE = 东信设备设施管理系统
 
 # 开发环境配置
 ENV = 'development'
 
-# 东信充值管理系统/开发环境
+# 东信设备设施管理系统/开发环境
 VUE_APP_BASE_API = ''
 
 # 路由懒加载

+ 2 - 2
.env.production

@@ -1,8 +1,8 @@
 # 页面标题
-VUE_APP_TITLE = 东信充值管理系统
+VUE_APP_TITLE = 东信设备设施管理系统
 
 # 生产环境配置
 ENV = 'production'
 
 # 管理系统/生产环境
-VUE_APP_BASE_API = '/dxapi'
+VUE_APP_BASE_API = '/dmapi'

+ 1 - 1
.env.staging

@@ -1,5 +1,5 @@
 # 页面标题
-VUE_APP_TITLE = 东信充值管理系统
+VUE_APP_TITLE = 东信设备设施管理系统
 
 NODE_ENV = production
 

BIN
deviceManager.zip


BIN
deviceManager/favicon.ico


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 210 - 0
deviceManager/html/ie.html


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 181 - 0
deviceManager/index.html


+ 2 - 0
deviceManager/robots.txt

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

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
deviceManager/static/css/app.43274e33.css


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
deviceManager/static/css/chunk-1d963824.9233a1d8.css


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

@@ -0,0 +1 @@
+.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}

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
deviceManager/static/css/chunk-4b5668c0.2cbded2b.css


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
deviceManager/static/css/chunk-54d46b3c.90f0c9a0.css


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

@@ -0,0 +1 @@
+.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%}

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

@@ -0,0 +1 @@
+.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}

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

@@ -0,0 +1 @@
+.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}

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 4 - 0
deviceManager/static/css/chunk-7e10f382.84f98409.css


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 15 - 0
deviceManager/static/css/chunk-libs.ea078ece.css


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


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


BIN
deviceManager/static/img/1.8284d1cf.gif


BIN
deviceManager/static/img/401.089007e7.gif


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


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


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


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

@@ -0,0 +1,39 @@
+<?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>

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

@@ -0,0 +1,39 @@
+<?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
deviceManager/static/img/logo-b.fd92c04e.png


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


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
deviceManager/static/js/app.d289ab42.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
deviceManager/static/js/chunk-1d963824.7aabfab6.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
deviceManager/static/js/chunk-2d0b2b28.9ffc10ea.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
deviceManager/static/js/chunk-2d0e2366.68f2ed78.js


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

@@ -0,0 +1 @@
+(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}}]);

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

@@ -0,0 +1 @@
+(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}}]);

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

@@ -0,0 +1 @@
+(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")}}]);

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
deviceManager/static/js/chunk-54d46b3c.2efbbd92.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
deviceManager/static/js/chunk-58e08142.20141459.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
deviceManager/static/js/chunk-60a3932e.5c747d2e.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
deviceManager/static/js/chunk-6a3a862b.0fb59377.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
deviceManager/static/js/chunk-7e10f382.480481c1.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
deviceManager/static/js/chunk-elementUI.7ae3ef1a.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
deviceManager/static/js/chunk-libs.b64e9255.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 2 - 13
public/html/ie.html


+ 31 - 0
src/App.vue

@@ -26,5 +26,36 @@ export default  {
   height:26px !important;
   line-height: 26px !important;
 }
+.el-textarea .el-input__count,.el-input .el-input__count .el-input__count-inner{
+  font-size: 8px;
+  height: 12px;
+  line-height: 12px;
+  background: transparent !important
+}
+
+.el-input-number--medium{
+  width:auto;
+  line-height:28px;
+}
+</style>
+<style lang="scss" scoped>
+::v-deep {
+  .el-table__body-wrapper::-webkit-scrollbar {
+    /*width: 0;宽度为0隐藏*/
+    width: 4px;
+  }
+  .el-table__body-wrapper::-webkit-scrollbar-thumb {
+    border-radius: 6px;
+    height: 50px;
+    background: rgba(40, 190, 252, .6);//滚动条颜色
+  }
+  .el-table__body-wrapper::-webkit-scrollbar-track {
+    box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
+    border-radius: 6px;
+    background: #eee;//滚动条背景色
+  }
+}
+
+
 </style>
 

+ 1 - 1
src/api/business/OM/eventCenter/index.js

@@ -113,7 +113,7 @@ export function delEventManage(data) {
         method: 'delete',
     })
 }
-export function updateRoom(data) {
+export function updateEventManage(data) {
     return request({
         url: "/eventManage",
         method: 'put',

+ 1 - 1
src/api/recharge/channel.js

@@ -30,4 +30,4 @@ export function listChannel(query) {
         method: 'get',
         params: query
     })
-}
+}

+ 44 - 1
src/api/system/product.js

@@ -32,6 +32,49 @@ export function listChannel(query) {
     })
 }
 
+
+
+
+// 新增
+export function addProduct(data) {
+    return request({
+        url: '/product',
+        method: 'post',
+        data: data
+    })
+}
+// 修改
+export function updataProduct(data) {
+    return request({
+        url: '/product',
+        method: 'put',
+        data: data
+    })
+}
+// 删除
+export function delProduct(deptId) {
+    return request({
+        url: '/product/' + deptId,
+        method: 'delete',
+    })
+}
+// 查询
+export function listProduct(query) {
+    return request({
+        url: '/product/list',
+        method: 'get',
+        params: query
+    })
+}
+
+
+
+
+
+
+
+
+
 //图片上传获取四步曲
 // 获取上传图片批次id
 export function fileId(query) { // batchNo(文件批次id)
@@ -73,4 +116,4 @@ export function getFileArray(data) {
         method: 'post',
         data: data
     })
-}
+}

+ 2 - 2
src/assets/js/common.js

@@ -1,7 +1,7 @@
 function BASEPATH() {
-    return "http://172.16.120.104:8084/";
+    return "https://smartpark.caih.com/dmapi/archive/";
 }
 
 export {
     BASEPATH
-}
+}

+ 4 - 0
src/assets/styles/index.scss

@@ -181,4 +181,8 @@ aside {
 
 .multiselect--active {
     z-index: 1000 !important;
+}
+
+.mg10 {
+    margin-top: 10px
 }

+ 12 - 12
src/layout/components/Navbar.vue

@@ -4,9 +4,9 @@
 
     <breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!topNav"/>
     <top-nav id="topmenu-container" class="topmenu-container" v-if="topNav"/>
-    
+
     <div class="right-menu">
-      
+
       <template v-if="device!=='mobile'">
         <span class="date" >{{date}}</span>
         <search id="header-search" class="right-menu-item" />
@@ -16,7 +16,7 @@
         <el-tooltip content="布局大小" effect="dark" placement="bottom">
           <size-select id="size-select" class="right-menu-item hover-effect" />
         </el-tooltip>
-        
+
 
       </template>
 
@@ -27,12 +27,12 @@
           <i class="el-icon-caret-bottom" />
         </div>
         <el-dropdown-menu slot="dropdown">
-          <router-link to="/user/profile">
+          <!-- <router-link to="/user/profile">
             <el-dropdown-item>个人中心</el-dropdown-item>
-          </router-link>
-          <!-- <el-dropdown-item @click.native="setting = true">
+          </router-link> -->
+          <el-dropdown-item @click.native="setting = true">
             <span>布局设置</span>
-          </el-dropdown-item> -->
+          </el-dropdown-item>
           <el-dropdown-item divided @click.native="logout">
             <span>退出登录</span>
           </el-dropdown-item>
@@ -49,7 +49,7 @@ import TopNav from '@/components/TopNav'
 import Hamburger from '@/components/Hamburger'
 import Screenfull from '@/components/Screenfull'
 import SizeSelect from '@/components/SizeSelect'
-import Search from '@/components/HeaderSearch' 
+import Search from '@/components/HeaderSearch'
 
 export default {
   data(){
@@ -87,7 +87,7 @@ export default {
         return this.$store.state.settings.topNav
       }
     },
-    
+
   },
   mounted(){
     let that= this;
@@ -99,7 +99,7 @@ export default {
         let sfb = myDate.getHours() + ':' + myDate.getMinutes() + ':' + myDate.getSeconds()
         that.date = year + month + day + ' ' + sfb
     });
-    
+
   },
   //销毁时清除计时器
   // beforeDestroy: function () {
@@ -118,7 +118,7 @@ export default {
         type: 'warning'
       }).then(() => {
         this.$store.dispatch('LogOut').then(() => {
-          location.href = '/vuedx/';
+          location.href = '/deviceManager/';
         })
       }).catch(() => {});
     }
@@ -217,6 +217,6 @@ export default {
   width:250px;
   margin-right: 20px;
   vertical-align: top;
-  
+
 }
 </style>

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

@@ -52,7 +52,7 @@ export default {
   },
   data() {
     return {
-      title: "东信充值管理系统",
+      title: "东信设备设施管理系统",
       logo: logoImg,
     };
   },

+ 15 - 10
src/main.js

@@ -33,23 +33,28 @@ import DictTag from '@/components/DictTag'
 import VueMeta from 'vue-meta'
 // echarts
 import echarts from 'echarts'
+import {set } from 'nprogress'
 //公共变量
 // import { BASEPATH } from "@/assets/js/common.js";
 //创建自定义指令
 Vue.directive('down', {
         inserted: (el, binding) => {
             el.style.cssText = 'cursor: pointer;color:#46a6ff;'
+                // setTimeout(() => {
             el.addEventListener('click', () => {
-                let link = document.createElement('a')
-                let url = binding.value
-                    // 这里是将url转成blob地址,
-                fetch(url).then(res => res.blob()).then(blob => { // 将链接地址字符内容转变成blob地址
-                    link.href = URL.createObjectURL(blob)
-                    link.download = ''
-                    document.body.appendChild(link)
-                    link.click()
+                    let link = document.createElement('a')
+                    let url = binding.value
+                    console.log(link)
+                        // 这里是将url转成blob地址,
+                    fetch(url).then(res => res.blob()).then(blob => { // 将链接地址字符内容转变成blob地址
+                        link.href = URL.createObjectURL(blob)
+                        link.download = ''
+                        document.body.appendChild(link)
+                        link.click()
+                    })
                 })
-            })
+                // }, 500)
+
         }
     })
     // 全局方法挂载
@@ -109,4 +114,4 @@ new Vue({
     router,
     store,
     render: h => h(App)
-})
+})

+ 1 - 1
src/permission.js

@@ -29,7 +29,7 @@ router.beforeEach((to, from, next) => {
                 }).catch(err => {
                     store.dispatch('LogOut').then(() => {
                         // Message.error(err)
-                        next({ path: '/vuedx/#/' })
+                        next({ path: '/deviceManager/#/' })
                     })
                 })
             } else {

+ 1 - 1
src/router/index.js

@@ -217,7 +217,7 @@ export const constantRoutes = [{
 export default new Router({
     // mode: 'history', // 去掉url中的#
     mode: 'hash',
-    base: '/vuedx',
+    base: '/deviceManager',
     scrollBehavior: () => ({ y: 0 }),
     routes: constantRoutes
 })

+ 3 - 4
src/utils/request.js

@@ -60,14 +60,14 @@ service.interceptors.response.use(res => {
         if (code == "SUCCESS") {
             return res.headers['content-type'].indexOf("application/vnd.ms-excel") != -1 ? res : res.data
         } else {
-            if (res.data.code === 401) {
+            if (res.data.code == "401") {
                 MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', {
                     confirmButtonText: '重新登录',
                     cancelButtonText: '取消',
                     type: 'warning'
                 }).then(() => {
                     store.dispatch('LogOut').then(() => {
-                        location.href = '/vuedx/#/';
+                        location.href = '/deviceManager/#/';
                     })
                 }).catch(() => {});
                 // return Promise.reject()
@@ -120,7 +120,6 @@ service.interceptors.response.use(res => {
 
     },
     error => {
-        console.log(error.response)
         let msg = error.response.data.msg
             // console.log('err' + error)
             // let { message } = error;
@@ -150,4 +149,4 @@ service.interceptors.response.use(res => {
 
 
 
-export default service
+export default service

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

@@ -1,9 +1,9 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="90px">
-      <el-form-item label="上报时间:">
+      <el-form-item label="上报时间:" >
          <el-date-picker
-          style="margin-top:5px;"
+          style="margin-top:5px;width:340px"
           v-model="dateRange"
           size="small"
           value-format="yyyy-MM-dd HH:mm:ss"
@@ -14,7 +14,7 @@
         ></el-date-picker>
       </el-form-item>
       <el-form-item label="处理状态">
-        <el-select v-model.trim="queryParams.status"  size="small">
+        <el-select v-model.trim="queryParams.status"  size="small" style="width: 120px">
           <el-option value="0" label="未处理"></el-option>
           <el-option value="1" label="已处理"></el-option>
         </el-select>
@@ -51,30 +51,30 @@
       </el-col>
       <el-col :span="3">
         <el-col class="event">
-            处置率<span class="color4 colorc " v-if="collectList.checkRadio">{{Number((collectList.checkRadio)*100).toFixed(2)}}%</span>
+            处置率<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:620px">
+    <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-column label="单位名称" align="center" prop="companyName" />
-      <el-table-column label="告警设备" align="center" prop="deviceName" />
-      <el-table-column label="告警内容" align="center" prop="alarmContent" />
-      <el-table-column label="上报时间" align="center" prop="createTime" />
+      <el-table-column label="单位名称" align="center" prop="companyName" show-overflow-tooltip />
+      <el-table-column label="告警设备" align="center" prop="deviceName" show-overflow-tooltip />
+      <el-table-column label="告警内容" align="center" prop="alarmContent" show-overflow-tooltip />
+      <el-table-column label="上报时间" align="center" prop="createTime" show-overflow-tooltip />
       <!-- <el-table-column label="是否误报" align="center" prop="isAlarm" >
         <template slot-scope="scope">
           <span :class="scope.row.isAlarm == true ? 'color3' : 'color4'">{{scope.row.isAlarm == true ? "是" : "否"}}</span>
         </template>
       </el-table-column> -->
-      <el-table-column label="处理状态" align="center" prop="alarmStatus" >
+      <el-table-column label="处理状态" align="center" prop="alarmStatus" show-overflow-tooltip >
         <template slot-scope="scope">
           <span :class="scope.row.alarmStatus == 0 ? 'color3' : 'color4'">{{scope.row.alarmStatus == 0 ? "未处理" : "已处理"}}</span>
         </template>
       </el-table-column>
-      <el-table-column label="处置内容" align="center" prop="checkContent" />
-      <el-table-column label="处理人" align="center" prop="updateBy" />
-      <el-table-column label="处理时间" align="center" prop="updateTime" />
+      <el-table-column label="处置内容" align="center" prop="checkContent" show-overflow-tooltip />
+      <el-table-column label="处理人" align="center" prop="updateBy" show-overflow-tooltip />
+      <el-table-column label="处理时间" align="center" prop="updateTime" show-overflow-tooltip />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
         <template slot-scope="scope">
           <el-button
@@ -94,7 +94,6 @@
         </template>
       </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-form ref="form" :model="form" :rules="rules" label-width="auto" >
@@ -132,7 +131,7 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="处理内容" prop="checkContent">
-              <el-input type="textarea" :rows="4" v-model="form.checkContent2" placeholder="请填写处理内容" @input="onInput()"/>
+              <el-input  type="textarea" :rows="5" maxlength="50" show-word-limit  v-model.trim="form.checkContent" placeholder="请填写处理内容" @input="onInput()"/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -259,13 +258,13 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
-      this.title = "修改";
+      this.title = "处置";
       if(row.isAlarm === true){
         row.isAlarm = true
       }else{
         row.isAlarm = false
       }
-      this.form = row
+      this.form = JSON.parse(JSON.stringify(row))
       this.open = true;
     },
     /** 新增按钮操作 */
@@ -281,9 +280,7 @@ export default {
           this.loading = true
           if (this.form.id != undefined) {
             this.form.alarmStatus = 1
-            this.form.checkContent = this.form.checkContent2
             let data = this.form
-            data.checkContent = data.checkContent2
             if(this.piliang === true){
               updateTbAlarmP(data).then(response => {
                 this.loading = false,
@@ -291,8 +288,7 @@ export default {
                 this.open = false;
                 this.getList();
               }).catch(()=>{
-                this.loading = false,
-                this.open = false;
+                this.loading = false
               })
             }else{
               updateTbAlarm(data).then(response => {
@@ -301,8 +297,7 @@ export default {
                 this.open = false;
                 this.getList();
               }).catch(()=>{
-                this.loading = false,
-                this.open = false;
+                this.loading = false
               })
             }
 
@@ -334,7 +329,7 @@ export default {
       this.exportLoading = true;
       exportTbAlarm(queryParams).then(response =>{
         this.exportLoading = false;
-        document.getElementById("xz").href = BASEPATH() + "archive/" + response.data
+        document.getElementById("xz").href = BASEPATH()  + response.data
         document.getElementById("xz").download = response.data
         document.getElementById("xz").click()
       })

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

@@ -3,7 +3,7 @@
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="90px">
       <el-form-item label="上报时间:">
          <el-date-picker
-          style="margin-top:5px;"
+          style="margin-top:5px;;width:340px"
           v-model="dateRange"
           size="small"
           value-format="yyyy-MM-dd HH:mm:ss"
@@ -14,7 +14,7 @@
         ></el-date-picker>
       </el-form-item>
       <el-form-item label="事件类型">
-        <el-select v-model.trim="queryParams.type"  size="small">
+        <el-select v-model.trim="queryParams.type"  size="small" style="width:120px">
           <el-option value="1" label="消防隐患"></el-option>
           <el-option value="2" label="消防告警"></el-option>
           <el-option value="3" label="设备设施"></el-option>
@@ -52,30 +52,30 @@
       </el-col>
       <el-col :span="3">
         <el-col class="event">
-            处置率<span class="color4 colorc " v-if="collectList.checkRadio">{{Number((collectList.checkRadio)*100).toFixed(2)}}%</span>
+            处置率<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:620px">
+    <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-column label="单位名称" align="center" prop="companyName" />
-      <el-table-column label="事件名称" align="center" prop="eventName" />
-      <el-table-column label="事件类型" align="center" prop="eventType" >
+      <el-table-column label="单位名称" align="center" prop="companyName" show-overflow-tooltip />
+      <el-table-column label="事件名称" align="center" prop="eventName" show-overflow-tooltip />
+      <el-table-column label="事件类型" align="center" prop="eventType" show-overflow-tooltip >
         <template slot-scope="scope">
           <span :class="scope.row.eventType == 1 ? 'color1' : scope.row.eventType == 2 ? 'color2' : 'color3'">{{scope.row.eventType  == 1 ? '消防隐患' : scope.row.eventType  == 2 ? '消防告警' : '设备设施'}}</span>
         </template>
       </el-table-column>
-      <el-table-column label="报告内容" align="center" prop="eventContent" />
-      <el-table-column label="上报时间" align="center" prop="reportingTime" />
+      <el-table-column label="报告内容" align="center" prop="eventContent" show-overflow-tooltip />
+      <el-table-column label="上报时间" align="center" prop="reportingTime" show-overflow-tooltip />
       <el-table-column label="处理状态" align="center" prop="clzt" >
         <template slot-scope="scope">
           <span :class="scope.row.clzt == 0 ? 'color3' : 'color4'">{{scope.row.clzt == 0 ? "未处理" : "已处理"}}</span>
         </template>
       </el-table-column>
-      <el-table-column label="处置内容" align="center" prop="checkContent" />
-      <el-table-column label="处理人" align="center" prop="updateBy" />
-      <el-table-column label="处理时间" align="center" prop="updateTime" />
+      <el-table-column label="处置内容" align="center" prop="clContent" show-overflow-tooltip />
+      <el-table-column label="处理人" align="center" prop="clPeople" show-overflow-tooltip />
+      <el-table-column label="处理时间" align="center" prop="clTiem" show-overflow-tooltip />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
         <template slot-scope="scope">
           <el-button
@@ -106,15 +106,15 @@
             </el-form-item>
           </el-col>
           <el-col :span="12" >
-            <el-form-item label="设备名称" prop="posistion">
-              <el-input v-model="form.posistion"  @input="onInput()" :disabled="true"/>
+            <el-form-item label="报告内容" prop="eventContent">
+              <el-input v-model="form.eventContent"  @input="onInput()" :disabled="true"/>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="16">
-            <el-form-item label="处理内容" prop="checkContent">
-              <el-input v-model="form.checkContent" type="textarea" @input="onInput()"/>
+            <el-form-item label="处理内容" prop="clContent">
+              <el-input  type="textarea" rows="5" maxlength="50" show-word-limit  v-model.trim="form.clContent" placeholder="请填写处理内容" @input="onInput()"/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -226,7 +226,6 @@ export default {
         data.startTime = data.params.beginTime
       }
       getEventManage(data).then(response => {
-        console.log(response)
         this.adminList = response.data.records;
         this.total = response.data.total;
         this.loading = false;
@@ -235,7 +234,6 @@ export default {
     /** 综合列表列表 */
     getCollect(){
       collectEventManage().then(response => {
-        console.log(response)
         this.collectList = response.data
         if(!this.collectList.checkRadio){
           this.collectList.checkRadio = 0
@@ -246,8 +244,8 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
-      this.title = "新增";
-      this.form = row
+      this.title = "处置";
+      this.form = JSON.parse(JSON.stringify(row))
       this.open = true;
     },
     /** 新增按钮操作 */
@@ -261,12 +259,13 @@ export default {
       this.$refs["form"].validate(valid => {
         if (valid) {
           this.loading = true
-          this.form.addr1 = this.form.data2.value
-          this.form.addr2 = this.form.data3.value
-          this.form.addr3 = this.form.data4.value
-          this.form.data2 = this.form.data2.label
-          this.form.data3 = this.form.data3.label
-          this.form.data4 = this.form.data4.label
+          this.form.clzt = 1
+          // this.form.addr1 = this.form.data2.value
+          // this.form.addr2 = this.form.data3.value
+          // this.form.addr3 = this.form.data4.value
+          // this.form.data2 = this.form.data2.label
+          // this.form.data3 = this.form.data3.label
+          // this.form.data4 = this.form.data4.label
           if (this.form.id != undefined) {
             updateEventManage(this.form).then(response => {
               this.loading = false,
@@ -274,8 +273,7 @@ export default {
               this.open = false;
               this.getList();
             }).catch(()=>{
-              this.loading = false,
-              this.open = false;
+              this.loading = false
             })
           } else {
             addEventManage(this.form).then(response => {
@@ -284,8 +282,7 @@ export default {
               this.open = false;
               this.getList();
             }).catch(()=>{
-              this.loading = false,
-              this.open = false
+              this.loading = false
             })
           }
         }
@@ -315,7 +312,7 @@ export default {
       this.exportLoading = true;
       exportEventManage(queryParams).then(response =>{
         this.exportLoading = false;
-        document.getElementById("xz").href = BASEPATH() + "archive/" + response.data
+        document.getElementById("xz").href = BASEPATH() + response.data
         document.getElementById("xz").download = response.data
         document.getElementById("xz").click()
       })

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

@@ -3,7 +3,7 @@
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="90px">
       <el-form-item label="上报时间:">
          <el-date-picker
-          style="margin-top:5px;"
+          style="margin-top:5px;;width:340px"
           v-model="dateRange"
           size="small"
           value-format="yyyy-MM-dd HH:mm:ss"
@@ -14,7 +14,7 @@
         ></el-date-picker>
       </el-form-item>
       <el-form-item label="处理状态">
-        <el-select v-model.trim="queryParams.status"  size="small">
+        <el-select v-model.trim="queryParams.status"  size="small" style="width:120px">
           <el-option value="0" label="未处理"></el-option>
           <el-option value="1" label="已处理"></el-option>
         </el-select>
@@ -52,31 +52,31 @@
       <el-col :span="3">
         <el-col class="event">
             处置率
-            <span class="color4 colorc " v-if="collectList.checkRadio">{{Number((collectList.checkRadio)*100).toFixed(2)}}%</span>
+            <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:620px">
+    <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-column label="单位名称" align="center" prop="companyName" />
-      <el-table-column label="设备名称" align="center" prop="deviceName" />
-      <el-table-column label="报告内容" align="center" prop="alarmContent" />
-      <el-table-column label="隐患类型" align="center" prop="property" />
-      <el-table-column label="上报时间" align="center" prop="createTime" />
+      <el-table-column label="单位名称" align="center" prop="companyName" show-overflow-tooltip />
+      <el-table-column label="设备名称" align="center" prop="deviceName" show-overflow-tooltip />
+      <el-table-column label="报告内容" align="center" prop="alarmContent" show-overflow-tooltip />
+      <el-table-column label="隐患类型" align="center" prop="property" show-overflow-tooltip />
+      <el-table-column label="上报时间" align="center" prop="createTime" show-overflow-tooltip />
       <!-- <el-table-column label="是否误报" align="center" prop="isAlarm" >
         <template slot-scope="scope">
           <span :class="scope.row.isAlarm == true ? 'color3' : 'color4'">{{scope.row.isAlarm == true ? "是" : "否"}}</span>
         </template>
       </el-table-column> -->
-      <el-table-column label="处理状态" align="center" prop="alarmStatus" >
+      <el-table-column label="处理状态" align="center" prop="alarmStatus" show-overflow-tooltip >
         <template slot-scope="scope">
           <span :class="scope.row.alarmStatus == 0 ? 'color3' : 'color4'">{{scope.row.alarmStatus == 0 ? "未处理" : "已处理"}}</span>
         </template>
       </el-table-column>
-      <el-table-column label="处理内容" align="center" prop="checkContent" />
-      <el-table-column label="处理人" align="center" prop="updateBy" />
-      <el-table-column label="处理时间" align="center" prop="updateTime" />
+      <el-table-column label="处理内容" align="center" prop="checkContent" show-overflow-tooltip />
+      <el-table-column label="处理人" align="center" prop="updateBy" show-overflow-tooltip />
+      <el-table-column label="处理时间" align="center" prop="updateTime" show-overflow-tooltip />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
         <template slot-scope="scope">
           <el-button
@@ -126,7 +126,7 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="处理内容" prop="checkContent">
-              <el-input type="textarea" :rows="4" v-model="form.checkContent2" placeholder="请填写处理内容" @input="onInput()"/>
+              <el-input  type="textarea" rows="5" maxlength="50" show-word-limit  v-model.trim="form.checkContent" placeholder="请填写处理内容" @input="onInput()"/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -249,13 +249,13 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
-      this.title = "修改";
       if(row.isAlarm === true){
         row.isAlarm = true
       }else{
         row.isAlarm = false
       }
-      this.form = row
+      this.title = "处置";
+      this.form = JSON.parse(JSON.stringify(row))
       this.open = true;
     },
     /** 新增按钮操作 */
@@ -269,9 +269,7 @@ export default {
       this.$refs["form"].validate(valid => {
         if (valid) {
           this.loading = true
-          this.form.checkContent = this.form.checkContent2
           let data = this.form
-          data.checkContent = data.checkContent2
           if (this.form.id != undefined) {
             this.form.alarmStatus = 1
             if(this.piliang === true){
@@ -324,7 +322,7 @@ export default {
       this.exportLoading = true;
       exportTbAlarm(queryParams).then(response =>{
         this.exportLoading = false;
-        document.getElementById("xz").href = BASEPATH() + "archive/" + response.data
+        document.getElementById("xz").href = BASEPATH() + response.data
         document.getElementById("xz").download = response.data
         document.getElementById("xz").click()
       })

+ 15 - 15
src/views/business/OM/workMange/index.vue

@@ -3,7 +3,7 @@
     <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="90px">
       <el-form-item label="上报时间:">
          <el-date-picker
-          style="margin-top:5px;"
+          style="margin-top:5px;width:340px"
           v-model="dateRange"
           size="small"
           value-format="yyyy-MM-dd HH:mm:ss"
@@ -14,7 +14,7 @@
         ></el-date-picker>
       </el-form-item>
       <el-form-item label="处理状态">
-        <el-select v-model.trim="queryParams.status"  size="small">
+        <el-select v-model.trim="queryParams.status"  size="small" style="width:120px">
           <el-option value="1" label="未处理"></el-option>
           <el-option value="2" label="已处理:通过"></el-option>
           <el-option value="3" label="已处理:未通过"></el-option>
@@ -65,25 +65,25 @@
         </el-col>
       </el-col>
     </el-row>
-    <el-table v-loading="loading" :data="adminList" style="margin-top:20px;height:620px">
+    <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-column label="单位名称" align="center" prop="companyName" />
-      <el-table-column label="工单名称" align="center" prop="workOrderName" />
-      <el-table-column label="工单内容" align="center" prop="workOrderContent" />
-      <el-table-column label="工单类型" align="center" prop="workOrderType" >
+      <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 />
+      <el-table-column label="工单类型" align="center" prop="workOrderType" show-overflow-tooltip>
         <template slot-scope="scope">
           <span :class="scope.row.workOrderType == 1 ? 'color3' : scope.row.workOrderType == 2 ? 'color4' : 'color2'">{{scope.row.workOrderType == 1 ? "告警" : scope.row.clzt == 2 ? "故障" : "其它"}}</span>
         </template>
       </el-table-column>
-      <el-table-column label="上报时间" align="center" prop="addTime" />
+      <el-table-column label="上报时间" align="center" prop="addTime" show-overflow-tooltip />
       <el-table-column label="处理状态" align="center" prop="clzt" >
         <template slot-scope="scope">
           <span :class="scope.row.clzt == 1 ? 'color3' : scope.row.clzt == 2 ? 'color4' : 'color2'">{{scope.row.clzt == 1 ? "未处理" : scope.row.clzt == 2 ? "已处理:通过" : "已处理:未通过"}}</span>
         </template>
       </el-table-column>
-      <el-table-column label="处置内容" align="center" prop="clnr" />
-      <el-table-column label="处理人" align="center" prop="czPeople" />
-      <el-table-column label="处理时间" align="center" prop="czTime" />
+      <el-table-column label="处置内容" align="center" prop="clnr" show-overflow-tooltip />
+      <el-table-column label="处理人" align="center" prop="czPeople" show-overflow-tooltip/>
+      <el-table-column label="处理时间" align="center" prop="czTime" show-overflow-tooltip />
       <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
         <template slot-scope="scope">
           <el-button
@@ -167,7 +167,7 @@
         <el-row :gutter="20">
           <el-col :span="18" >
             <el-form-item label="处置内容" prop="clnr">
-              <el-input v-model="form.clnr" type="textarea" />
+              <el-input  type="textarea" maxlength="50" show-word-limit :rows="5" v-model="form.clnr" placeholder="请填写处理内容" @input="onInput()"/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -301,13 +301,13 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
-      this.title = "修改";
       if(row.isAlarm === true){
         row.isAlarm = true
       }else{
         row.isAlarm = false
       }
-      this.form = row
+      this.title = "处置";
+      this.form = JSON.parse(JSON.stringify(row))
       this.open2 = true;
     },
     /** 新增按钮操作 */
@@ -373,7 +373,7 @@ export default {
       this.exportLoading = true;
       exportWorkOrder(queryParams).then(response =>{
         this.exportLoading = false;
-        document.getElementById("xz").href = BASEPATH() + "archive/" + response.data
+        document.getElementById("xz").href = BASEPATH() + response.data
         document.getElementById("xz").download = response.data
         document.getElementById("xz").click()
       })

+ 7 - 9
src/views/business/buildMange/building/index.vue

@@ -59,12 +59,12 @@
         <el-row :gutter="20">
           <el-col :span="12">
             <el-form-item label="建筑名称" prop="buildName">
-              <el-input v-model="form.buildName" placeholder="请填写建筑名称" @input="onInput()"/>
+              <el-input v-model.trim="form.buildName" placeholder="请填写建筑名称" @input="onInput()" maxlength="15" show-word-limit/>
             </el-form-item>
           </el-col>
           <el-col :span="12" >
             <el-form-item label="建筑坐标" prop="posistion">
-              <el-input v-model="form.posistion" placeholder="请填写建筑坐标" @input="onInput()"/>
+              <el-input v-model.trim="form.posistion" placeholder="请填写建筑坐标" @input="onInput()" maxlength="15" show-word-limit/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -99,7 +99,7 @@
         <el-row>
           <el-col :span="24">
             <el-form-item label="详细地址" prop="address">
-              <el-input v-model="form.address" placeholder="请填写详细地址" @input="onInput()"/>
+              <el-input v-model.trim="form.address" placeholder="请填写详细地址" @input="onInput()" maxlength="28" show-word-limit/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -225,8 +225,8 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
-      this.title = "新增";
-      this.form = row
+      this.title = "修改";
+      this.form = JSON.parse(JSON.stringify(row))
       for(let i = 0;i<city.length;i++){ //省市区赋值
         if(row.addr1 == city[i].value){
           this.form.province = {
@@ -288,8 +288,7 @@ export default {
               this.open = false;
               this.getList();
             }).catch(()=>{
-              this.loading = false,
-              this.open = false;
+              this.loading = false
             })
           } else {
             addBuilding(data).then(response => {
@@ -298,8 +297,7 @@ export default {
               this.open = false;
               this.getList();
             }).catch(()=>{
-              this.loading = false,
-              this.open = false
+              this.loading = false
             })
           }
         }

+ 6 - 8
src/views/business/buildMange/floor/index.vue

@@ -57,7 +57,7 @@
         <el-row :gutter="20">
           <el-col :span="12" >
             <el-form-item label="楼层名称" prop="floorName">
-              <el-input v-model="form.floorName" placeholder="请填写楼层名称" @input="onInput()"/>
+              <el-input v-model="form.floorName" placeholder="请填写楼层名称" @input="onInput()" maxlength="15" show-word-limit />
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -81,7 +81,7 @@
         <el-row :gutter="20">
           <el-col :span="12">
             <el-form-item label="备注" prop="remark">
-              <el-input v-model="form.remark" placeholder="请填写备注" @input="onInput()"/>
+              <el-input type="textarea" v-model.trim="form.remark" placeholder="请填写备注" @input="onInput()" rows="4" maxlength="25" show-word-limit/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -186,8 +186,8 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
-      this.title = "新增";
-      this.form = row
+      this.title = "修改";
+      this.form = JSON.parse(JSON.stringify(row))
       this.open = true;
     },
     /** 新增按钮操作 */
@@ -210,8 +210,7 @@ export default {
               this.open = false;
               this.getList();
             }).catch(()=>{
-              this.loading = false,
-              this.open = false;
+              this.loading = false
             })
           } else {
             addFloor(this.form).then(response => {
@@ -220,8 +219,7 @@ export default {
               this.open = false;
               this.getList();
             }).catch(()=>{
-              this.loading = false,
-              this.open = false
+              this.loading = false
             })
           }
         }

+ 9 - 12
src/views/business/buildMange/room/index.vue

@@ -7,7 +7,7 @@
           placeholder="请输入房间名称"
           clearable
           size="small"
-          style="width: 120px"
+          style="width: 140px"
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
@@ -17,7 +17,7 @@
           placeholder="请输入楼层名称"
           clearable
           size="small"
-          style="width: 120px"
+          style="width: 140px"
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
@@ -27,7 +27,7 @@
           placeholder="请输入建筑名称"
           clearable
           size="small"
-          style="width: 120px"
+          style="width: 140px"
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
@@ -78,7 +78,7 @@
         <el-row :gutter="20">
           <el-col :span="12" >
             <el-form-item label="房间名称" prop="roomName">
-              <el-input v-model="form.roomName" placeholder="请填写房间" @input="onInput()"/>
+              <el-input v-model.trim="form.roomName" placeholder="请填写房间" @input="onInput()" maxlength="15" show-word-limit/>
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -99,7 +99,6 @@
             </el-form-item>
           </el-col>
         </el-row>
-
         <el-row :gutter="20">
           <el-col :span="12" >
             <el-form-item label="楼层名称" prop="floorId">
@@ -120,7 +119,7 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="备注" prop="remark">
-              <el-input v-model="form.remark" placeholder="请填写备注" @input="onInput()"/>
+              <el-input type="textarea" v-model.trim="form.remark" placeholder="请填写备注" @input="onInput()" rows="4" maxlength="25" show-word-limit/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -229,8 +228,8 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
-      this.title = "新增";
-      this.form = row
+      this.title = "修改";
+      this.form = JSON.parse(JSON.stringify(row))
       this.open = true;
     },
     /** 新增按钮操作 */
@@ -257,8 +256,7 @@ export default {
               this.open = false;
               this.getList();
             }).catch(()=>{
-              this.loading = false,
-              this.open = false;
+              this.loading = false
             })
             this.buildListData = []
             this.floorListData = []
@@ -271,8 +269,7 @@ export default {
               this.buildListData = []
               this.floorListData = []
             }).catch(()=>{
-              this.loading = false,
-              this.open = false
+              this.loading = false
             })
           }
         }

+ 28 - 22
src/views/business/deviceMange/deviceApi/index.vue

@@ -43,7 +43,7 @@
         >导出</el-button>
       </el-form-item>
     </el-form>
-    <el-table v-loading="loading" :data="adminList" >
+    <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" />
@@ -55,7 +55,7 @@
       <el-table-column label="接口说明" align="center" prop="interfaceExplain" />
       <el-table-column label="接口文档" align="center" prop="interfaceFileRoute" >
         <template slot-scope="scope">
-          <span v-down="`http://172.16.120.104:8084/archive/${scope.row.interfaceFileRoute}`">下载</span>
+          <span v-down="`https://smartpark.caih.com/dmapi/archive/${scope.row.interfaceFileRoute}`">下载</span>
         </template>
       </el-table-column>
       <el-table-column label="厂家(商家)" align="center" prop="business" />
@@ -86,19 +86,19 @@
         <el-row :gutter="20">
           <el-col :span="12">
             <el-form-item label="接口名称" prop="interfaceName">
-              <el-input v-model="form.interfaceName" placeholder="请填写接口名称" @input="onInput()"/>
+              <el-input v-model.trim="form.interfaceName" placeholder="请填写接口名称" @input="onInput()" maxlength="15" show-word-limit/>
             </el-form-item>
           </el-col>
           <el-col :span="12" >
             <el-form-item label="接口路径" prop="interfaceRoute">
-              <el-input v-model="form.interfaceRoute" placeholder="请填写接口路径" @input="onInput()"/>
+              <el-input v-model.trim="form.interfaceRoute" placeholder="请填写接口路径" @input="onInput()" maxlength="15" show-word-limit/>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="20">
           <el-col :span="12">
             <el-form-item label="接口参数" prop="interfaceParameter">
-              <el-input v-model="form.interfaceParameter" placeholder="请填写接口参数" @input="onInput()"/>
+              <el-input v-model.trim="form.interfaceParameter" placeholder="请填写接口参数" @input="onInput()" maxlength="15" show-word-limit/>
             </el-form-item>
           </el-col>
           <el-col :span="12" >
@@ -117,7 +117,7 @@
         <el-row :gutter="20">
           <el-col :span="12">
             <el-form-item label="所属厂家" prop="business">
-              <el-input v-model="form.business" placeholder="请填写所属建筑" @input="onInput()"/>
+              <el-input v-model.trim="form.business" placeholder="请填写所属建筑" @input="onInput()" maxlength="15" show-word-limit/>
             </el-form-item>
           </el-col>
           <el-col :span="12" >
@@ -145,12 +145,11 @@
                   >
                   <el-button size="small" type="primary">点击上传</el-button>
                 </el-upload>
-                <!-- :on-change="handleChange" -->
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="接口说明" prop="interfaceExplain">
-              <el-input type="textarea" v-model="form.interfaceExplain" placeholder="请填写接口说明" @input="onInput()"/>
+              <el-input type="textarea" v-model.trim="form.interfaceExplain" placeholder="请填写接口说明" @input="onInput()" rows="5" maxlength="30" show-word-limit />
             </el-form-item>
           </el-col>
         </el-row>
@@ -259,7 +258,8 @@ export default {
         {id:16,name:"视频监控",},
         {id:128,name:"井盖",},
       ],
-      companyList:[]
+      companyList:[],
+      num:0,
     };
   },
   created() {
@@ -273,6 +273,7 @@ export default {
     },
     // 取消按钮
     cancel() {
+      this.fileList = []
       this.open = false;
       this.reset();
     },
@@ -316,8 +317,8 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
-      this.title = "新增";
-      this.form = row
+      this.title = "修改";
+      this.form = JSON.parse(JSON.stringify(row))
       this.open = true;
     },
     /** 新增按钮操作 */
@@ -338,8 +339,7 @@ export default {
               this.open = false;
               this.getList();
             }).catch(()=>{
-              this.loading = false,
-              this.open = false;
+              this.loading = false
             })
           } else {
             addCommunicationApi(this.form).then(response => {
@@ -348,8 +348,7 @@ export default {
               this.open = false;
               this.getList();
             }).catch(()=>{
-              this.loading = false,
-              this.open = false
+              this.loading = false
             })
           }
         }
@@ -379,6 +378,7 @@ export default {
       exportCommunicationApi(queryParams).then(response =>{
         this.exportLoading = false;
         document.getElementById("xz").href = BASEPATH() + "archive/" + response.data
+        console.log( BASEPATH() + "archive/" + response.data)
         document.getElementById("xz").download = response.data
         document.getElementById("xz").click()
       })
@@ -398,13 +398,19 @@ export default {
       });
     },
     handleChange(param){
-      const formData = new FormData();
-      formData.append('file', param.raw)
-      formData.append('multipart', param.raw)
-      fileUpload(formData).then(response => {
-        this.msgSuccess("上传成功");
-        this.form.interfaceFileRoute = response.data
-      });
+      this.num++
+      if(this.num>1){
+        this.num = 0
+        return false
+      }else{
+        const formData = new FormData();
+        formData.append('file', param.raw)
+        formData.append('multipart', param.raw)
+        fileUpload(formData).then(response => {
+          this.msgSuccess("上传成功");
+          this.form.interfaceFileRoute = response.data
+        });
+      }
     },
   }
 };

+ 11 - 13
src/views/business/deviceMange/deviceList/index.vue

@@ -11,7 +11,7 @@
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
-      <el-form-item label="时间:">
+      <!-- <el-form-item label="时间:">
          <el-date-picker
           style="margin-top:5px;"
           v-model="dateRange"
@@ -22,7 +22,7 @@
           start-placeholder="开始日期"
           end-placeholder="结束日期"
         ></el-date-picker>
-      </el-form-item>
+      </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>
@@ -95,19 +95,19 @@
           </el-col> -->
           <el-col :span="12">
             <el-form-item label="设备编号" prop="ownerCode" >
-              <el-input v-model="form.ownerCode" placeholder="请填写设备编号称" @input="onInput()"  />
+              <el-input v-model.trim="form.ownerCode" placeholder="请填写设备编号称" @input="onInput()"  maxlength="15" show-word-limit/>
             </el-form-item>
           </el-col>
           <el-col :span="12" >
             <el-form-item label="设备名称" prop="ownerName">
-              <el-input v-model="form.ownerName" placeholder="请填写设备名称" @input="onInput()"/>
+              <el-input v-model.trim="form.ownerName" placeholder="请填写设备名称" @input="onInput()" maxlength="15" show-word-limit/>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row :gutter="20">
           <el-col :span="12">
             <el-form-item label="安装位置" prop="unitinfo">
-              <el-input v-model="form.unitinfo" placeholder="请填写安装位置" @input="onInput()"/>
+              <el-input v-model.trim="form.unitinfo" placeholder="请填写安装位置" @input="onInput()" maxlength="15" show-word-limit/>
             </el-form-item>
           </el-col>
           <el-col :span="12" >
@@ -164,12 +164,12 @@
           </el-col> -->
           <el-col :span="12">
             <el-form-item label="GPS地址" prop="posistion">
-              <el-input v-model="form.posistion" placeholder="请填写GPS地址" @input="onInput()"/>
+              <el-input v-model.trim="form.posistion" placeholder="请填写GPS地址" @input="onInput()" maxlength="15" show-word-limit/>
             </el-form-item>
           </el-col>
           <el-col :span="12" >
             <el-form-item label="详细地址" prop="address">
-              <el-input type="textarea" v-model="form.address" placeholder="请填写详细地址" @input="onInput()"/>
+              <el-input type="textarea" v-model.trim="form.address" placeholder="请填写详细地址" @input="onInput()" maxlength="20" show-word-limit/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -377,8 +377,8 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
-      this.title = "新增";
-      this.form = row
+      this.title = "修改";
+      this.form = JSON.parse(JSON.stringify(row))
       this.open = true;
     },
     /** 新增按钮操作 */
@@ -410,8 +410,7 @@ export default {
               this.open = false;
               this.getList();
             }).catch(()=>{
-              this.loading = false,
-              this.open = false;
+              this.loading = false
             })
           } else {
             this.update = false
@@ -422,8 +421,7 @@ export default {
               this.open = false;
               this.getList();
             }).catch(()=>{
-              this.loading = false,
-              this.open = false
+              this.loading = false
             })
           }
         }

+ 25 - 18
src/views/business/deviceMange/devicePassageWay/index.vue

@@ -61,10 +61,17 @@
       <el-table-column label="通道类型" align="center" prop="passagewayType" >
         <template slot-scope="scope">
           <span>
-            {{scope.row.dwtype=="1" && scope.row.passagewayType=="0" ?"通道报警" : 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=="3" ?"无线信号" : scope.row.dwtype=="2" && scope.row.passagewayType=="4" ?"水压/水位" :
-            scope.row.dwtype=="3" && scope.row.passagewayType=="1" ?"状态" : scope.row.dwtype=="3" && scope.row.passagewayType=="2" ?"电量" : "无线信号"
+            {{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=="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=="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" ?"火点检测告警" : ""
+
             }}</span>
         </template>
       </el-table-column>
@@ -96,7 +103,7 @@
         <el-row :gutter="20">
           <el-col :span="12">
             <el-form-item label="通道名称" prop="passagewayName">
-              <el-input v-model="form.passagewayName" placeholder="请填写通道名称" @input="onInput()"/>
+              <el-input v-model.trim="form.passagewayName" placeholder="请填写通道名称" @input="onInput()" maxlength="30" show-word-limit />
             </el-form-item>
           </el-col>
           <el-col :span="12" >
@@ -113,11 +120,11 @@
           </el-col>
         </el-row>
         <el-row :gutter="20">
-          <el-col :span="12">
+          <!-- <el-col :span="12">
             <el-form-item label="设备编号" prop="deviceCode">
-              <el-input v-model="form.deviceCode" placeholder="请填写设备编号" @input="onInput()"/>
+              <el-input v-model.trim="form.deviceCode" placeholder="请填写设备编号" @input="onInput()" maxlength="15" show-word-limit/>
             </el-form-item>
-          </el-col>
+          </el-col> -->
           <el-col :span="12">
             <el-form-item label="通道类型" prop="passagewayType">
               <!-- <el-select v-model="form.interfaceRoute"  placeholder="请选择通道类型">
@@ -129,6 +136,7 @@
                 ></el-option>
               </el-select> -->
               <el-select v-model="passagewayType"  placeholder="请选择系统类型" @change="selectPassagewayType">
+                  <el-option v-if="form.dwtype == 1" value="1" label="待定" />
                   <el-option v-if="form.dwtype == 2" value="1" label="设备状态" />
                   <el-option v-if="form.dwtype == 2" value="2" label="剩余电量" />
                   <el-option v-if="form.dwtype == 2" value="3" label="无线信号" />
@@ -215,9 +223,9 @@ export default {
         passagewayName: [
           { required: true, message: "通道名称不能为空", trigger: "blur" }
         ],
-        deviceCode: [
-          { required: true, message: "设备编号不能为空", trigger: "blur" }
-        ],
+        // deviceCode: [
+        //   { required: true, message: "设备编号不能为空", trigger: "blur" }
+        // ],
         interfaceRoute: [
           { required: true, message: "通道类型不能为空", trigger: ["blur",'change'] }
         ],
@@ -321,9 +329,8 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
-      this.title = "新增";
-      this.form = row
-      this.form.passagewayType = String(row.passagewayType)
+      this.title = "修改";
+      this.form = JSON.parse(JSON.stringify(row))
       this.open = true;
     },
     /** 新增按钮操作 */
@@ -344,18 +351,17 @@ export default {
               this.open = false;
               this.getList();
             }).catch(()=>{
-              this.loading = false,
-              this.open = false;
+              this.loading = false
             })
           } else {
+            this.form.deviceCode = ""
             addDeviceChannel(this.form).then(response => {
               this.loading = false,
               this.msgSuccess("新增成功");
               this.open = false;
               this.getList();
             }).catch(()=>{
-              this.loading = false,
-              this.open = false
+              this.loading = false
             })
           }
         }
@@ -402,6 +408,7 @@ export default {
         }
       });
       getDeviceType({current:1,size:100}).then(response =>{
+        console.log(response)
         this.dwtypeList = response.data.records.map(val=>{
           return {
             id:Number(val.typeValue),

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

@@ -81,12 +81,12 @@
         <el-row :gutter="20">
           <el-col :span="12">
             <el-form-item label="类型名称" prop="typeName">
-              <el-input v-model="form.typeName" placeholder="请输入类型名称" />
+              <el-input v-model.trim="form.typeName" placeholder="请输入类型名称" maxlength="15" show-word-limit />
             </el-form-item>
           </el-col>
           <el-col :span="12" >
             <el-form-item label="类型参数" prop="typeValue">
-              <el-input v-model="form.typeValue" placeholder="请输入类型参数" />
+              <el-input v-model.trim="form.typeValue" placeholder="请输入类型参数" maxlength="15" show-word-limit />
             </el-form-item>
           </el-col>
         </el-row>
@@ -105,7 +105,7 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="厂家名称" prop="business">
-              <el-input v-model="form.business" placeholder="请输入厂家名称" />
+              <el-input v-model.trim="form.business" placeholder="请输入厂家名称" maxlength="15" show-word-limit/>
             </el-form-item>
           </el-col>
         </el-row>
@@ -255,7 +255,7 @@ export default {
     handleUpdate(row) {
       this.reset();
       this.title = "修改";
-      this.form = row
+      this.form = JSON.parse(JSON.stringify(row))
       this.open = true;
     },
     /** 新增按钮操作 */
@@ -277,18 +277,16 @@ export default {
               this.loading = false,
               this.open = false
             }).catch(()=>{
-              this.loading = false,
-              this.open = false
+              this.loading = false
             })
           }else{
             addDeviceType(this.form).then(response => {
-              this.msgSuccess("修改成功");
+              this.msgSuccess("新增成功");
               this.getList();
-              this.loading = false,
+              this.loading = false
               this.open = false
             }).catch(()=>{
-              this.loading = false,
-              this.open = false
+              this.loading = false
             })
           }
         }

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

@@ -35,7 +35,7 @@
                     <div>
                       <span>处置率</span>
                       <div>
-                        <p>{{Number((index1Data.checkRadio)*100).toFixed(2)}}%</p>
+                        <p>{{index1Data.checkRadio ? Number((index1Data.checkRadio)*100).toFixed(2) : '0.00'}}%</p>
                       </div>
                     </div>
                 </div>
@@ -43,7 +43,7 @@
                   <div class="wrap">
                     <index1 :resData="index1Data.checkRadio"
                       :dataMap="index1Data.checkRadio"
-                      color="#37FF01"
+                      color="#80FFA5"
                       :size="21"
                       :with="16"
                       :tick="false" style="width:100%" alt="饼图" />
@@ -56,11 +56,11 @@
           </el-col>
           <el-col :span="12">
             <div class="card_right">
-              <el-card class="box-card card4"  v-loading="loading3">
+              <el-card class="box-card card2"  v-loading="loading3">
                 <div class="contain">
                   <index2
                   :resData="index2Data"
-                   style="width:100%" alt="折线图" />
+                  style="width:100%;height:26em;" alt="折线图" />
                 </div>
               </el-card>
             </div>
@@ -74,7 +74,7 @@
                     placeholder="请选择单位名称"
                     clearable
                     size="small"
-                    style="width: 240px"
+                    style="width: 160px"
                   >
                     <el-option
                       v-for="dict in companyList"
@@ -84,8 +84,14 @@
                     />
                   </el-select>
                 </el-form-item>
-                <el-form-item label="时间">
-                  <el-date-picker
+                <el-form-item label="处理状态:" prop="status">
+                  <el-select v-model="queryParams.status" style="width: 160px" placeholder="请选择处理状态" clearable size="small">
+                    <el-option label="未处理" :value="0"/>
+                    <el-option label="已处理" :value="1"/>
+                  </el-select>
+                </el-form-item>
+                <el-form-item label="时间:" label-width="50px">
+                  <el-date-picker style="vertical-align: middle;width:340px"
                     v-model="dateRange"
                     size="small"
                     value-format="yyyy-MM-dd HH:mm:ss"
@@ -95,12 +101,6 @@
                     end-placeholder="结束日期"
                   ></el-date-picker>
                 </el-form-item>
-                <el-form-item label="处理状态:" prop="status">
-                  <el-select v-model="queryParams.status" style="width: 240px" placeholder="请选择处理状态" clearable size="small">
-                    <el-option label="未处理" :value="0"/>
-                    <el-option label="已处理" :value="1"/>
-                  </el-select>
-                </el-form-item>
                 <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery" style="margin-top:4px">搜索</el-button>
                 <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
                 <el-button
@@ -114,7 +114,7 @@
                 >导出</el-button>
               </el-form>
             </div>
-            <el-table v-loading="loading4" :data="adminList" height="calac(100vh -45em)" :default-sort = "{prop: 'alarmTime', order: 'descending'}">
+            <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 />
@@ -144,8 +144,7 @@
 </template>
 
 <script>
-
-import { getTbAlarmCollectIcoDetail,  exportTbAlarm ,getTbAlarm, collectTbAlarm } from "@/api/business/OM/eventCenter";
+import { getTbAlarmCollectIcoStatusDetail,  exportTbAlarm ,getTbAlarm, collectTbAlarm } from "@/api/business/OM/eventCenter";
 import { listChannel } from "@/api/system/product";
 import index1 from "@/views/components/fireInternetInfo/index1";
 import index2 from "@/views/components/fireInternetInfo/index2";
@@ -181,7 +180,7 @@ export default {
       timeList:[],
       queryParams:{
         type:2,
-        bigDeviceType:3,
+        bigDeviceType:6,
         status:0,
         current:1,
         size:10,
@@ -206,7 +205,7 @@ export default {
   },
   /* type=2&bigDeviceType=1&isLine=1
    type 1隐患2告警
-   bigDeviceType1火系统 2 水系统 3rtu 4电气火灾 5 视频监控
+   bigDeviceType1火系统 2 水系统 3rtu 4电气火灾 5 视频监控 6烟感
    isLine 0离线 1在线 */
   methods: {
     init(){
@@ -218,57 +217,25 @@ export default {
         })
         this.queryParams.status = 0
         /* 折线图 */
-        getTbAlarmCollectIco({status:0}).then(response =>{
-          let text = this.queryParams.bigDeviceType
-          let findText = text == 1 ? "火系统" : text == 2 ? "水系统" : text == 3 ? "rtu" : text == 4 ? "电气火灾" : "视频监控"
-          let data = response.data;
-          let seriesData = [];
-          for (let i = 0; i < data[0].list.length; i++) {
-            if((data[0].list[i]).deviceTypeS == findText){
-              seriesData = {data:[],name:undefined};
-              seriesData.name = 0 == 0 ? "未处理" : "已处理";
-            }
-            for (let a = 0; a < data.length; a++) {
-              if((data[a].list[i]).deviceTypeS == findText){
-                seriesData.data.push((data[a].list[i]).deviceCount);
-              }
-            }
-          }
-          let arr = []
-          this.dataZ.push(seriesData)
-          this.queryParams.status = 1
-          /* 折线图 */
-          getTbAlarmCollectIco(this.queryParams).then(response2 =>{
-            let text1 = this.queryParams.bigDeviceType
-            let findText1 = text1 == 1 ? "火系统" : text1 == 2 ? "水系统" : text1 == 3 ? "rtu" : text1 == 4 ? "电气火灾" : "视频监控"
-            let data1 = response2.data;
-            let seriesData1 = [];
-            for (let i = 0; i < data1[0].list.length; i++) {
-              if((data1[0].list[i]).deviceTypeS == findText1){
-                seriesData1 = {data:[],name:undefined};
-                seriesData1.name = 1 == 0 ? "未处理" : "已处理";
-              }
-              for (let a = 0; a < data1.length; a++) {
-                if((data1[a].list[i]).deviceTypeS == findText1){
-                  seriesData1.data.push((data1[a].list[i]).deviceCount);
-                }
-              }
-            }
-            let lineData = [];
-            let date = new Date();
+        getTbAlarmCollectIcoStatusDetail(this.queryParams).then(response =>{
+          this.loading3 = false
+          let data = response.data
+          let lineData = []
+          let total = []
+          let checkCount = []
+          total[0] = {data:[],name:undefined}
+          checkCount[0] = {data:[],name:undefined}
+          if(data){
             for (let i = 0; i < data.length; i++) {
-              lineData.push(
-                date.getFullYear() +
-                  "-" +
-                  Number(date.getMonth() + 1) +
-                  "-" +
-                  data[i].time
-              );
+              lineData.push(data[i].time);
+              total[0].data.push(data[i].list.checkCount + data[i].list.noCheckCount)
+              checkCount[0].data.push(data[i].list.checkCount)
             }
-            this.dataZ.push(seriesData1,lineData)
-            this.index2Data = this.dataZ
-            this.loading3 = false
-          })
+            total[0].name = "离线次数"
+            checkCount[0].name = "处理次数"
+            this.index2Data.push(total[0],checkCount[0],lineData)
+            this.index2Data.push({name:"烟感离线处理情况跟踪",color:"#FF9721"})
+          }
         })
         /* 公司列表 */
         this.queryParams.status = undefined
@@ -289,6 +256,10 @@ export default {
         this.queryParams.status = undefined
         this.queryParams.num = 1
       }
+      if(this.dateRange.length>0){
+        this.queryParams.startTime = this.dateRange[0]
+        this.queryParams.endTime = this.dateRange[1]
+      }
       getTbAlarm(this.queryParams).then(response =>{
         this.adminList = response.data.records
         this.total = response.data.total;
@@ -319,13 +290,11 @@ export default {
       this.exportLoading = true;
       exportTbAlarm(queryParams).then(response =>{
         this.exportLoading = false;
-        document.getElementById("xz").href = BASEPATH() + "archive/" + response.data
+        document.getElementById("xz").href = BASEPATH() + response.data
         document.getElementById("xz").download = response.data
         document.getElementById("xz").click()
       })
     },
-
-
   }
 }
 </script>
@@ -384,7 +353,7 @@ export default {
     }
     .card_left{
       .card1{
-        height:30em;
+        height:28em;
         .title{
           width:100%;
           display: block;
@@ -401,7 +370,7 @@ export default {
           }
         }
         .contain{
-          margin-top:2rem;
+          margin-top:0.5rem;
           width:45%;
           display: inline-block;
           vertical-align: top;
@@ -410,14 +379,13 @@ export default {
             span{
               font-size: 1.2rem;
               vertical-align: middle;
-              width:15%;
-              max-width: 60px;
+              width:80px;
               text-align: left;
               display: inline-block;
             }
             div{
               width:60%;
-              max-width: 214px;
+              max-width:214px;
               height:4rem;
               vertical-align: middle;
               background:url("../../../../../assets/images/operation_item.png") no-repeat right center;
@@ -431,7 +399,7 @@ export default {
           }
         }
         .contain2{
-          margin-top:-2rem;
+          margin-top:-3rem;
           vertical-align: top;
           width:45%;
           display: inline-block;
@@ -442,28 +410,15 @@ export default {
           }
         }
       }
-      .card2{
-        height:30em;
-        .contain2{
-          p{
-            text-align: center;
-            font-size: 1.4rem;
-          }
-        }
-      }
     }
     .card_right{
-      .card3{
-        height:calc(100vh - 30em);
+      .card2{
+        height:28em;
       }
     }
     .card_bottom{
       padding-top:10px;
-      .card3{
-        height:540px;
-      }
     }
-
   }
 
  ::v-deep {

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

@@ -35,7 +35,7 @@
                     <div>
                       <span>处置率</span>
                       <div>
-                        <p>{{Number((index1Data.checkRadio)*100).toFixed(2)}}%</p>
+                        <p>{{index1Data.checkRadio ? Number((index1Data.checkRadio)*100).toFixed(2) : '0.00'}}%</p>
                       </div>
                     </div>
                 </div>
@@ -43,7 +43,7 @@
                   <div class="wrap">
                     <index1 :resData="index1Data.checkRadio"
                       :dataMap="index1Data.checkRadio"
-                      color="#37FF01"
+                      color="#80FFA5"
                       :size="21"
                       :with="16"
                       :tick="false" style="width:100%" alt="饼图" />
@@ -56,11 +56,11 @@
           </el-col>
           <el-col :span="12">
             <div class="card_right">
-              <el-card class="box-card card4"  v-loading="loading3">
+              <el-card class="box-card card2"  v-loading="loading3">
                 <div class="contain">
                   <index2
                   :resData="index2Data"
-                   style="width:100%" alt="折线图" />
+                  style="width:100%;height:26em;" alt="折线图" />
                 </div>
               </el-card>
             </div>
@@ -74,7 +74,7 @@
                     placeholder="请选择单位名称"
                     clearable
                     size="small"
-                    style="width: 240px"
+                    style="width: 160px"
                   >
                     <el-option
                       v-for="dict in companyList"
@@ -84,8 +84,14 @@
                     />
                   </el-select>
                 </el-form-item>
-                <el-form-item label="时间">
-                  <el-date-picker
+                <el-form-item label="处理状态:" prop="status">
+                  <el-select v-model="queryParams.status" style="width: 160px" placeholder="请选择处理状态" clearable size="small">
+                    <el-option label="未处理" :value="0"/>
+                    <el-option label="已处理" :value="1"/>
+                  </el-select>
+                </el-form-item>
+                <el-form-item label="时间:" label-width="50px">
+                  <el-date-picker style="vertical-align: middle;width:340px"
                     v-model="dateRange"
                     size="small"
                     value-format="yyyy-MM-dd HH:mm:ss"
@@ -95,12 +101,6 @@
                     end-placeholder="结束日期"
                   ></el-date-picker>
                 </el-form-item>
-                <el-form-item label="处理状态:" prop="status">
-                  <el-select v-model="queryParams.status" style="width: 240px" placeholder="请选择处理状态" clearable size="small">
-                    <el-option label="未处理" :value="0"/>
-                    <el-option label="已处理" :value="1"/>
-                  </el-select>
-                </el-form-item>
                 <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery" style="margin-top:4px">搜索</el-button>
                 <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
                 <el-button
@@ -114,7 +114,7 @@
                 >导出</el-button>
               </el-form>
             </div>
-            <el-table v-loading="loading4" :data="adminList" height="calc(100vh - 45em)" :default-sort = "{prop: 'alarmTime', order: 'descending'}">
+            <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 />
@@ -234,6 +234,7 @@ export default {
             total[0].name = "离线次数"
             checkCount[0].name = "处理次数"
             this.index2Data.push(total[0],checkCount[0],lineData)
+            this.index2Data.push({name:"火灾监控离线处理情况跟踪",color:"#FF2416"})
           }
         })
         /* 公司列表 */
@@ -255,6 +256,10 @@ export default {
         this.queryParams.status = undefined
         this.queryParams.num = 1
       }
+      if(this.dateRange.length>0){
+        this.queryParams.startTime = this.dateRange[0]
+        this.queryParams.endTime = this.dateRange[1]
+      }
       getTbAlarm(this.queryParams).then(response =>{
         this.adminList = response.data.records
         this.total = response.data.total;
@@ -285,7 +290,7 @@ export default {
       this.exportLoading = true;
       exportTbAlarm(queryParams).then(response =>{
         this.exportLoading = false;
-        document.getElementById("xz").href = BASEPATH() + "archive/" + response.data
+        document.getElementById("xz").href = BASEPATH() + response.data
         document.getElementById("xz").download = response.data
         document.getElementById("xz").click()
       })
@@ -350,7 +355,7 @@ export default {
     }
     .card_left{
       .card1{
-        height:30em;
+        height:28em;
         .title{
           width:100%;
           display: block;
@@ -367,7 +372,7 @@ export default {
           }
         }
         .contain{
-          margin-top:2rem;
+          margin-top:0.5rem;
           width:45%;
           display: inline-block;
           vertical-align: top;
@@ -376,14 +381,13 @@ export default {
             span{
               font-size: 1.2rem;
               vertical-align: middle;
-              width:15%;
-              max-width: 60px;
+              width:80px;
               text-align: left;
               display: inline-block;
             }
             div{
               width:60%;
-              max-width: 214px;
+              max-width:214px;
               height:4rem;
               vertical-align: middle;
               background:url("../../../../../assets/images/operation_item.png") no-repeat right center;
@@ -397,7 +401,7 @@ export default {
           }
         }
         .contain2{
-          margin-top:-2rem;
+          margin-top:-3rem;
           vertical-align: top;
           width:45%;
           display: inline-block;
@@ -408,28 +412,15 @@ export default {
           }
         }
       }
-      .card2{
-        height:30em;
-        .contain2{
-          p{
-            text-align: center;
-            font-size: 1.4rem;
-          }
-        }
-      }
     }
     .card_right{
-      .card3{
-        height:calc(100vh - 30em);
+      .card2{
+        height:28em;
       }
     }
     .card_bottom{
       padding-top:10px;
-      .card3{
-        height:540px;
-      }
     }
-
   }
 
  ::v-deep {

+ 29 - 40
src/views/business/fireInternet/deviceMonitoring/waterMonitoring/device/index.vue

@@ -37,7 +37,7 @@
                   <div class="wrap">
                     <!-- <index3 :resData="index1Data"
                       :dataMap="index1Data"
-                      color="#37FF01"
+                      color="#80FFA5"
                       :size="21"
                       :with="16"
                       :tick="false" style="width:100%" alt="饼图" /> -->
@@ -50,11 +50,11 @@
           </el-col>
           <el-col :span="12">
             <div class="card_right">
-              <el-card class="box-card card4"  v-loading="loading3">
+              <el-card class="box-card card2"  v-loading="loading3">
                 <div class="contain">
                   <index2
                   :resData="index2Data"
-                   style="width:100%" alt="折线图" />
+                  style="width:100%;height:26em;" alt="折线图" />
                 </div>
               </el-card>
             </div>
@@ -68,7 +68,7 @@
                     placeholder="请选择单位名称"
                     clearable
                     size="small"
-                    style="width: 240px"
+                    style="width: 160px"
                   >
                     <el-option
                       v-for="dict in companyList"
@@ -78,8 +78,14 @@
                     />
                   </el-select>
                 </el-form-item>
-                <el-form-item label="时间">
-                  <el-date-picker
+                <el-form-item label="处理状态:" prop="status">
+                  <el-select v-model="queryParams.status" style="width: 160px" placeholder="请选择处理状态" clearable size="small">
+                    <el-option label="未处理" :value="0"/>
+                    <el-option label="已处理" :value="1"/>
+                  </el-select>
+                </el-form-item>
+                <el-form-item label="时间:" label-width="50px">
+                  <el-date-picker style="vertical-align: middle;width:340px"
                     v-model="dateRange"
                     size="small"
                     value-format="yyyy-MM-dd HH:mm:ss"
@@ -89,12 +95,6 @@
                     end-placeholder="结束日期"
                   ></el-date-picker>
                 </el-form-item>
-                <!-- <el-form-item label="处理状态:" prop="status">
-                  <el-select v-model="queryParams.status" style="width: 240px" placeholder="请选择处理状态" clearable size="small">
-                    <el-option label="未处理" :value="0"/>
-                    <el-option label="已处理" :value="1"/>
-                  </el-select>
-                </el-form-item> -->
                 <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery" style="margin-top:4px">搜索</el-button>
                 <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
                 <el-button
@@ -108,11 +108,11 @@
                 >导出</el-button>
               </el-form>
             </div>
-            <el-table v-loading="loading4" :data="adminList" height="calc(100vh - 45em)" :default-sort = "{prop: 'alarmTime', order: 'descending'}" highlight-current-row>
+            <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="alarmTime" sortable />
+              <el-table-column label="报告时间" align="center" prop="createTime" sortable />
             </el-table>
           </el-col>
       </el-row>
@@ -131,12 +131,11 @@
 
 <script>
 
-import { tbInfoList ,  exportTbAlarm ,getTbAlarm, } from "@/api/business/OM/eventCenter";
+import { tbInfoList } from "@/api/business/OM/eventCenter";
 import { listChannel } from "@/api/system/product";
 import index3 from "@/views/components/fireInternetInfo/index3";
 import index2 from "@/views/components/fireInternetInfo/index2";
 import { BASEPATH } from "@/assets/js/common.js";
-import { getThisDateBeforMonth, YearMonthDate } from "@/assets/js/dataFormate.js";
 export default {
   name: "index",
   components: {
@@ -242,6 +241,7 @@ export default {
           //   total[0].name = "离线次数"
           //   checkCount[0].name = "处理次数"
           //   this.index2Data.push(total[0],checkCount[0],lineData)
+          //this.index2Data.push({name:"水系统设备工况跟踪",color:"#00FFFF"})
           // }
         })
     },
@@ -250,6 +250,10 @@ export default {
         this.queryParams.status = undefined
         this.queryParams.num = 1
       }
+      if(this.dateRange.length>0){
+        this.queryParams.startTime = this.dateRange[0]
+        this.queryParams.endTime = this.dateRange[1]
+      }
       tbInfoList(this.queryParams).then(response =>{ //table及饼图数据
         //table
         this.adminList = response.data.records
@@ -299,7 +303,7 @@ export default {
       this.exportLoading = true;
       exportTbAlarm(queryParams).then(response =>{
         this.exportLoading = false;
-        document.getElementById("xz").href = BASEPATH() + "archive/" + response.data
+        document.getElementById("xz").href = BASEPATH() + response.data
         document.getElementById("xz").download = response.data
         document.getElementById("xz").click()
       })
@@ -348,7 +352,7 @@ export default {
   .box-card {
     margin-top:20px;
   }
-  #main{
+#main{
     margin-top:-20px;
     .box-card{
       .h2{
@@ -364,7 +368,7 @@ export default {
     }
     .card_left{
       .card1{
-        height:30em;
+        height:28em;
         .title{
           width:100%;
           display: block;
@@ -381,7 +385,7 @@ export default {
           }
         }
         .contain{
-          margin-top:2rem;
+          margin-top:0.5rem;
           width:45%;
           display: inline-block;
           vertical-align: top;
@@ -390,14 +394,13 @@ export default {
             span{
               font-size: 1.2rem;
               vertical-align: middle;
-              width:15%;
-              max-width: 60px;
+              width:80px;
               text-align: left;
               display: inline-block;
             }
             div{
               width:60%;
-              max-width: 214px;
+              max-width:214px;
               height:4rem;
               vertical-align: middle;
               background:url("../../../../../../assets/images/operation_item.png") no-repeat right center;
@@ -411,7 +414,7 @@ export default {
           }
         }
         .contain2{
-          margin-top:-2rem;
+          margin-top:-3rem;
           vertical-align: top;
           width:45%;
           display: inline-block;
@@ -422,30 +425,16 @@ export default {
           }
         }
       }
-      .card2{
-        height:30em;
-        .contain2{
-          p{
-            text-align: center;
-            font-size: 1.4rem;
-          }
-        }
-      }
     }
     .card_right{
-      .card3{
-        height:calc(100vh - 30em);
+      .card2{
+        height:28em;
       }
     }
     .card_bottom{
       padding-top:10px;
-      .card3{
-        height:540px;
-      }
     }
-
   }
-
  ::v-deep {
     .el-table__body-wrapper::-webkit-scrollbar {
       /*width: 0;宽度为0隐藏*/

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

@@ -35,7 +35,7 @@
                     <div>
                       <span>处置率</span>
                       <div>
-                        <p>{{Number((index1Data.checkRadio)*100).toFixed(2)}}%</p>
+                        <p>{{index1Data.checkRadio ? Number((index1Data.checkRadio)*100).toFixed(2) : '0.00'}}%</p>
                       </div>
                     </div>
                 </div>
@@ -43,7 +43,7 @@
                   <div class="wrap">
                     <index1 :resData="index1Data.checkRadio"
                       :dataMap="index1Data.checkRadio"
-                      color="#37FF01"
+                      color="#80FFA5"
                       :size="21"
                       :with="16"
                       :tick="false" style="width:100%" alt="饼图" />
@@ -56,11 +56,11 @@
           </el-col>
           <el-col :span="12">
             <div class="card_right">
-              <el-card class="box-card card4"  v-loading="loading3">
+              <el-card class="box-card card2"  v-loading="loading3">
                 <div class="contain">
                   <index2
                   :resData="index2Data"
-                   style="width:100%" alt="折线图" />
+                  style="width:100%;height:26em;" alt="折线图" />
                 </div>
               </el-card>
             </div>
@@ -74,7 +74,7 @@
                     placeholder="请选择单位名称"
                     clearable
                     size="small"
-                    style="width: 240px"
+                    style="width: 160px"
                   >
                     <el-option
                       v-for="dict in companyList"
@@ -84,8 +84,14 @@
                     />
                   </el-select>
                 </el-form-item>
-                <el-form-item label="时间">
-                  <el-date-picker
+                <el-form-item label="处理状态:" prop="status">
+                  <el-select v-model="queryParams.status" style="width: 160px" placeholder="请选择处理状态" clearable size="small">
+                    <el-option label="未处理" :value="0"/>
+                    <el-option label="已处理" :value="1"/>
+                  </el-select>
+                </el-form-item>
+                <el-form-item label="时间:" label-width="50px">
+                  <el-date-picker style="vertical-align: middle;width:340px"
                     v-model="dateRange"
                     size="small"
                     value-format="yyyy-MM-dd HH:mm:ss"
@@ -95,12 +101,6 @@
                     end-placeholder="结束日期"
                   ></el-date-picker>
                 </el-form-item>
-                <el-form-item label="处理状态:" prop="status">
-                  <el-select v-model="queryParams.status" style="width: 240px" placeholder="请选择处理状态" clearable size="small">
-                    <el-option label="未处理" :value="0"/>
-                    <el-option label="已处理" :value="1"/>
-                  </el-select>
-                </el-form-item>
                 <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery" style="margin-top:4px">搜索</el-button>
                 <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
                 <el-button
@@ -114,7 +114,7 @@
                 >导出</el-button>
               </el-form>
             </div>
-            <el-table v-loading="loading4" :data="adminList" height="calc(100vh - 45em)" :default-sort = "{prop: 'alarmTime', order: 'descending'}">
+            <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 />
@@ -210,7 +210,6 @@ export default {
    isLine 0离线 1在线 */
   methods: {
     init(){
-
         /* 饼图 */
         collectTbAlarm(this.queryParams).then(response =>{
           this.index1Data = response.data
@@ -236,6 +235,7 @@ export default {
             total[0].name = "离线次数"
             checkCount[0].name = "处理次数"
             this.index2Data.push(total[0],checkCount[0],lineData)
+            this.index2Data.push({name:"水系统离线处理情况跟踪",color:"#00FFFF"})
           }
         })
         /* 公司列表 */
@@ -257,6 +257,10 @@ export default {
         this.queryParams.status = undefined
         this.queryParams.num = 1
       }
+      if(this.dateRange.length>0){
+        this.queryParams.startTime = this.dateRange[0]
+        this.queryParams.endTime = this.dateRange[1]
+      }
       getTbAlarm(this.queryParams).then(response =>{
         this.adminList = response.data.records
         this.total = response.data.total;
@@ -287,7 +291,7 @@ export default {
       this.exportLoading = true;
       exportTbAlarm(queryParams).then(response =>{
         this.exportLoading = false;
-        document.getElementById("xz").href = BASEPATH() + "archive/" + response.data
+        document.getElementById("xz").href = BASEPATH() + response.data
         document.getElementById("xz").download = response.data
         document.getElementById("xz").click()
       })
@@ -336,7 +340,7 @@ export default {
   .box-card {
     margin-top:20px;
   }
-  #main{
+ #main{
     margin-top:-20px;
     .box-card{
       .h2{
@@ -352,7 +356,7 @@ export default {
     }
     .card_left{
       .card1{
-        height:30em;
+        height:28em;
         .title{
           width:100%;
           display: block;
@@ -369,7 +373,7 @@ export default {
           }
         }
         .contain{
-          margin-top:2rem;
+          margin-top:0.5rem;
           width:45%;
           display: inline-block;
           vertical-align: top;
@@ -378,14 +382,13 @@ export default {
             span{
               font-size: 1.2rem;
               vertical-align: middle;
-              width:15%;
-              max-width: 60px;
+              width:80px;
               text-align: left;
               display: inline-block;
             }
             div{
               width:60%;
-              max-width: 214px;
+              max-width:214px;
               height:4rem;
               vertical-align: middle;
               background:url("../../../../../../assets/images/operation_item.png") no-repeat right center;
@@ -399,7 +402,7 @@ export default {
           }
         }
         .contain2{
-          margin-top:-2rem;
+          margin-top:-3rem;
           vertical-align: top;
           width:45%;
           display: inline-block;
@@ -410,30 +413,16 @@ export default {
           }
         }
       }
-      .card2{
-        height:30em;
-        .contain2{
-          p{
-            text-align: center;
-            font-size: 1.4rem;
-          }
-        }
-      }
     }
     .card_right{
-      .card3{
-        height:calc(100vh - 30em);
+      .card2{
+        height:28em;
       }
     }
     .card_bottom{
       padding-top:10px;
-      .card3{
-        height:540px;
-      }
     }
-
   }
-
  ::v-deep {
     .el-table__body-wrapper::-webkit-scrollbar {
       /*width: 0;宽度为0隐藏*/

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

@@ -35,7 +35,7 @@
                     <div>
                       <span>处置率</span>
                       <div>
-                        <p>{{Number((index1Data.checkRadio)*100).toFixed(2)}}%</p>
+                        <p>{{index1Data.checkRadio ? Number((index1Data.checkRadio)*100).toFixed(2) : '0.00'}}%</p>
                       </div>
                     </div>
                 </div>
@@ -43,10 +43,10 @@
                   <div class="wrap">
                     <index1 :resData="index1Data.checkRadio"
                       :dataMap="index1Data.checkRadio"
-                      color="#37FF01"
+                      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%" alt="折线图" />
+                  style="width:100%;height:26em;" alt="折线图" />
                 </div>
               </el-card>
             </div>
@@ -74,7 +74,7 @@
                     placeholder="请选择单位名称"
                     clearable
                     size="small"
-                    style="width: 240px"
+                    style="width: 160px"
                   >
                     <el-option
                       v-for="dict in companyList"
@@ -84,8 +84,14 @@
                     />
                   </el-select>
                 </el-form-item>
-                <el-form-item label="时间">
-                  <el-date-picker
+                <el-form-item label="处理状态:" prop="status">
+                  <el-select v-model="queryParams.status" style="width: 160px" placeholder="请选择处理状态" clearable size="small">
+                    <el-option label="未处理" :value="0"/>
+                    <el-option label="已处理" :value="1"/>
+                  </el-select>
+                </el-form-item>
+                <el-form-item label="时间:" label-width="50px">
+                  <el-date-picker style="vertical-align: middle;width:340px"
                     v-model="dateRange"
                     size="small"
                     value-format="yyyy-MM-dd HH:mm:ss"
@@ -95,12 +101,6 @@
                     end-placeholder="结束日期"
                   ></el-date-picker>
                 </el-form-item>
-                <el-form-item label="处理状态:" prop="status">
-                  <el-select v-model="queryParams.status" style="width: 240px" placeholder="请选择处理状态" clearable size="small">
-                    <el-option label="未处理" :value="0"/>
-                    <el-option label="已处理" :value="1"/>
-                  </el-select>
-                </el-form-item>
                 <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery" style="margin-top:4px">搜索</el-button>
                 <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
                 <el-button
@@ -114,7 +114,7 @@
                 >导出</el-button>
               </el-form>
             </div>
-            <el-table v-loading="loading4" :data="adminList" height="calc(100vh - 45em)" :default-sort = "{prop: 'alarmTime', order: 'descending'}">
+            <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 />
@@ -233,6 +233,7 @@ export default {
             total[0].name = "告警总数"
             checkCount[0].name = "处理次数"
             this.index2Data.push(total[0],checkCount[0],lineData)
+            this.index2Data.push({name:"火警监控告警处理情况跟踪",color:"#FF2416"})
           }
         })
         /* 公司列表 */
@@ -254,6 +255,10 @@ export default {
         this.queryParams.status = undefined
         this.queryParams.num = 1
       }
+      if(this.dateRange.length>0){
+        this.queryParams.startTime = this.dateRange[0]
+        this.queryParams.endTime = this.dateRange[1]
+      }
       getTbAlarm(this.queryParams).then(response =>{
         this.adminList = response.data.records
         this.total = response.data.total;
@@ -284,7 +289,7 @@ export default {
       this.exportLoading = true;
       exportTbAlarm(queryParams).then(response =>{
         this.exportLoading = false;
-        document.getElementById("xz").href = BASEPATH() + "archive/" + response.data
+        document.getElementById("xz").href = BASEPATH() + response.data
         document.getElementById("xz").download = response.data
         document.getElementById("xz").click()
       })
@@ -300,6 +305,7 @@ export default {
   {
     background: #fff;
     border-radius: 0;
+
   }
 
   ::-webkit-scrollbar
@@ -349,7 +355,7 @@ export default {
     }
     .card_left{
       .card1{
-        height:30em;
+        height:28em;
         .title{
           width:100%;
           display: block;
@@ -366,7 +372,7 @@ export default {
           }
         }
         .contain{
-          margin-top:2rem;
+          margin-top:0.5rem;
           width:45%;
           display: inline-block;
           vertical-align: top;
@@ -375,8 +381,7 @@ export default {
             span{
               font-size: 1.2rem;
               vertical-align: middle;
-              width:15%;
-              max-width:60px;
+              width:80px;
               text-align: left;
               display: inline-block;
             }
@@ -396,7 +401,7 @@ export default {
           }
         }
         .contain2{
-          margin-top:-2rem;
+          margin-top:-3rem;
           vertical-align: top;
           width:45%;
           display: inline-block;
@@ -407,28 +412,15 @@ export default {
           }
         }
       }
-      .card2{
-        height:30em;
-        .contain2{
-          p{
-            text-align: center;
-            font-size: 1.4rem;
-          }
-        }
-      }
     }
     .card_right{
-      .card3{
-        height:calc(100vh - 30em)
+      .card2{
+        height:28em;
       }
     }
     .card_bottom{
       padding-top:10px;
-      .card3{
-        height:540px;
-      }
     }
-
   }
 
  ::v-deep {
@@ -446,7 +438,7 @@ export default {
       border-radius: 6px;
       background: #eee;//滚动条背景色
     }
-  }
+}
 
 </style>
 <style>

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

@@ -35,7 +35,7 @@
                     <div>
                       <span>处置率</span>
                       <div>
-                        <p>{{Number((index1Data.checkRadio)*100).toFixed(2)}}%</p>
+                        <p>{{index1Data.checkRadio ? Number((index1Data.checkRadio)*100).toFixed(2) : '0.00'}}%</p>
                       </div>
                     </div>
                 </div>
@@ -43,7 +43,7 @@
                   <div class="wrap">
                     <index1 :resData="index1Data.checkRadio"
                       :dataMap="index1Data.checkRadio"
-                      color="#37FF01"
+                      color="#80FFA5"
                       :size="21"
                       :with="16"
                       :tick="false" style="width:100%" alt="饼图" />
@@ -56,11 +56,11 @@
           </el-col>
           <el-col :span="12">
             <div class="card_right">
-              <el-card class="box-card card4"  v-loading="loading3">
+              <el-card class="box-card card2"  v-loading="loading3">
                 <div class="contain">
                   <index2
                   :resData="index2Data"
-                   style="width:100%" alt="折线图" />
+                  style="width:100%;height:26em;" alt="折线图" />
                 </div>
               </el-card>
             </div>
@@ -74,7 +74,7 @@
                     placeholder="请选择单位名称"
                     clearable
                     size="small"
-                    style="width: 240px"
+                    style="width: 160px"
                   >
                     <el-option
                       v-for="dict in companyList"
@@ -84,8 +84,14 @@
                     />
                   </el-select>
                 </el-form-item>
-                <el-form-item label="时间">
-                  <el-date-picker
+                <el-form-item label="处理状态:" prop="status">
+                  <el-select v-model="queryParams.status" style="width: 160px" placeholder="请选择处理状态" clearable size="small">
+                    <el-option label="未处理" :value="0"/>
+                    <el-option label="已处理" :value="1"/>
+                  </el-select>
+                </el-form-item>
+                <el-form-item label="时间:" label-width="50px">
+                  <el-date-picker style="vertical-align: middle;width:340px"
                     v-model="dateRange"
                     size="small"
                     value-format="yyyy-MM-dd HH:mm:ss"
@@ -95,12 +101,6 @@
                     end-placeholder="结束日期"
                   ></el-date-picker>
                 </el-form-item>
-                <el-form-item label="处理状态:" prop="status">
-                  <el-select v-model="queryParams.status" style="width: 240px" placeholder="请选择处理状态" clearable size="small">
-                    <el-option label="未处理" :value="0"/>
-                    <el-option label="已处理" :value="1"/>
-                  </el-select>
-                </el-form-item>
                 <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery" style="margin-top:4px">搜索</el-button>
                 <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
                 <el-button
@@ -114,7 +114,7 @@
                 >导出</el-button>
               </el-form>
             </div>
-            <el-table v-loading="loading4" :data="adminList" height="calc(100vh - 45em)" :default-sort = "{prop: 'alarmTime', order: 'descending'}">
+            <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 />
@@ -217,6 +217,7 @@ export default {
         })
         /* 折线图 */
         getTbAlarmCollectIcoDetail(this.queryParams).then(response =>{
+          console.log(response)
           this.loading3 = false
           let data = response.data
           let lineData = []
@@ -233,6 +234,7 @@ export default {
             total[0].name = "告警总数"
             checkCount[0].name = "处理次数"
             this.index2Data.push(total[0],checkCount[0],lineData)
+            this.index2Data.push({name:"水系统监控告警处理情况跟踪",color:"#00FFFF"})
           }
         })
         /* 公司列表 */
@@ -254,6 +256,10 @@ export default {
         this.queryParams.status = undefined
         this.queryParams.num = 1
       }
+      if(this.dateRange.length>0){
+        this.queryParams.startTime = this.dateRange[0]
+        this.queryParams.endTime = this.dateRange[1]
+      }
       getTbAlarm(this.queryParams).then(response =>{
         this.adminList = response.data.records
         this.total = response.data.total;
@@ -284,7 +290,7 @@ export default {
       this.exportLoading = true;
       exportTbAlarm(queryParams).then(response =>{
         this.exportLoading = false;
-        document.getElementById("xz").href = BASEPATH() + "archive/" + response.data
+        document.getElementById("xz").href = BASEPATH() + response.data
         document.getElementById("xz").download = response.data
         document.getElementById("xz").click()
       })
@@ -333,7 +339,7 @@ export default {
   .box-card {
     margin-top:20px;
   }
-  #main{
+#main{
     margin-top:-20px;
     .box-card{
       .h2{
@@ -349,7 +355,7 @@ export default {
     }
     .card_left{
       .card1{
-        height:30em;
+        height:28em;
         .title{
           width:100%;
           display: block;
@@ -366,7 +372,7 @@ export default {
           }
         }
         .contain{
-          margin-top:2rem;
+          margin-top:0.5rem;
           width:45%;
           display: inline-block;
           vertical-align: top;
@@ -375,14 +381,13 @@ export default {
             span{
               font-size: 1.2rem;
               vertical-align: middle;
-              width:15%;
-              max-width: 60px;
+              width:80px;
               text-align: left;
               display: inline-block;
             }
             div{
               width:60%;
-              max-width: 214px;
+              max-width:214px;
               height:4rem;
               vertical-align: middle;
               background:url("../../../../../assets/images/operation_item.png") no-repeat right center;
@@ -396,7 +401,7 @@ export default {
           }
         }
         .contain2{
-          margin-top:-2rem;
+          margin-top:-3rem;
           vertical-align: top;
           width:45%;
           display: inline-block;
@@ -407,28 +412,15 @@ export default {
           }
         }
       }
-      .card2{
-        height:30em;
-        .contain2{
-          p{
-            text-align: center;
-            font-size: 1.4rem;
-          }
-        }
-      }
     }
     .card_right{
-      .card3{
-        height:calc(100vh - 30em)
+      .card2{
+        height:28em;
       }
     }
     .card_bottom{
       padding-top:10px;
-      .card3{
-        height:540px;
-      }
     }
-
   }
 
  ::v-deep {

+ 27 - 36
src/views/business/fireInternet/hiddenDanger/index.vue

@@ -35,7 +35,7 @@
                     <div>
                       <span>处置率</span>
                       <div>
-                        <p>{{Number((index1Data.checkRadio)*100).toFixed(2)}}%</p>
+                        <p>{{index1Data.checkRadio ? Number((index1Data.checkRadio)*100).toFixed(2) : '0.00'}}%</p>
                       </div>
                     </div>
                 </div>
@@ -43,7 +43,7 @@
                   <div class="wrap">
                     <index1 :resData="index1Data.checkRadio"
                       :dataMap="index1Data.checkRadio"
-                      color="#37FF01"
+                      color="#80FFA5"
                       :size="21"
                       :with="16"
                       :tick="false" style="width:100%" alt="饼图" />
@@ -56,11 +56,11 @@
           </el-col>
           <el-col :span="12">
             <div class="card_right">
-              <el-card class="box-card card4"  v-loading="loading3">
+              <el-card class="box-card card2"  v-loading="loading3">
                 <div class="contain">
                   <index2
                   :resData="index2Data"
-                   style="width:100%" alt="折线图" />
+                  style="width:100%;height:26em;" alt="折线图" />
                 </div>
               </el-card>
             </div>
@@ -74,7 +74,7 @@
                     placeholder="请选择单位名称"
                     clearable
                     size="small"
-                    style="width: 240px"
+                    style="width: 160px"
                   >
                     <el-option
                       v-for="dict in companyList"
@@ -84,8 +84,14 @@
                     />
                   </el-select>
                 </el-form-item>
-                <el-form-item label="时间">
-                  <el-date-picker
+                <el-form-item label="处理状态:" prop="status">
+                  <el-select v-model="queryParams.status" style="width: 160px" placeholder="请选择处理状态" clearable size="small">
+                    <el-option label="未处理" :value="0"/>
+                    <el-option label="已处理" :value="1"/>
+                  </el-select>
+                </el-form-item>
+                <el-form-item label="时间:" label-width="50px">
+                  <el-date-picker style="vertical-align: middle;width:340px"
                     v-model="dateRange"
                     size="small"
                     value-format="yyyy-MM-dd HH:mm:ss"
@@ -95,12 +101,6 @@
                     end-placeholder="结束日期"
                   ></el-date-picker>
                 </el-form-item>
-                <el-form-item label="处理状态:" prop="status">
-                  <el-select v-model="queryParams.status" style="width: 240px" placeholder="请选择处理状态" clearable size="small">
-                    <el-option label="未处理" :value="0"/>
-                    <el-option label="已处理" :value="1"/>
-                  </el-select>
-                </el-form-item>
                 <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery" style="margin-top:4px">搜索</el-button>
                 <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
                 <el-button
@@ -114,7 +114,7 @@
                 >导出</el-button>
               </el-form>
             </div>
-            <el-table v-loading="loading4" :data="adminList" height="calc(100vh - 45em)" :default-sort = "{prop: 'alarmTime', order: 'descending'}">
+            <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 />
@@ -234,6 +234,7 @@ export default {
             total[0].name = "隐患数量"
             checkCount[0].name = "处理次数"
             this.index2Data.push(total[0],checkCount[0],lineData)
+            this.index2Data.push({name:"隐患总揽",color:"#FF9721"})
           }
         })
         /* 公司列表 */
@@ -255,6 +256,10 @@ export default {
         this.queryParams.status = undefined
         this.queryParams.num = 1
       }
+      if(this.dateRange.length>0){
+        this.queryParams.startTime = this.dateRange[0]
+        this.queryParams.endTime = this.dateRange[1]
+      }
       getTbAlarm(this.queryParams).then(response =>{
         this.adminList = response.data.records
         this.total = response.data.total;
@@ -285,7 +290,7 @@ export default {
       this.exportLoading = true;
       exportTbAlarm(queryParams).then(response =>{
         this.exportLoading = false;
-        document.getElementById("xz").href = BASEPATH() + "archive/" + response.data
+        document.getElementById("xz").href = BASEPATH() + response.data
         document.getElementById("xz").download = response.data
         document.getElementById("xz").click()
       })
@@ -350,7 +355,7 @@ export default {
     }
     .card_left{
       .card1{
-        height:30em;
+        height:28em;
         .title{
           width:100%;
           display: block;
@@ -367,7 +372,7 @@ export default {
           }
         }
         .contain{
-          margin-top:2rem;
+          margin-top:0.5rem;
           width:45%;
           display: inline-block;
           vertical-align: top;
@@ -376,14 +381,13 @@ export default {
             span{
               font-size: 1.2rem;
               vertical-align: middle;
-              width:15%;
-              max-width: 60px;
+              width:80px;
               text-align: left;
               display: inline-block;
             }
             div{
               width:60%;
-              max-width: 214px;
+              max-width:214px;
               height:4rem;
               vertical-align: middle;
               background:url("../../../../assets/images/operation_item.png") no-repeat right center;
@@ -397,7 +401,7 @@ export default {
           }
         }
         .contain2{
-          margin-top:-2rem;
+          margin-top:-3rem;
           vertical-align: top;
           width:45%;
           display: inline-block;
@@ -408,28 +412,15 @@ export default {
           }
         }
       }
-      .card2{
-        height:30em;
-        .contain2{
-          p{
-            text-align: center;
-            font-size: 1.4rem;
-          }
-        }
-      }
     }
     .card_right{
-      .card3{
-        height:calc(100vh - 30em)
+      .card2{
+        height:28em;
       }
     }
     .card_bottom{
       padding-top:10px;
-      .card3{
-        height:540px;
-      }
     }
-
   }
 
  ::v-deep {

+ 52 - 23
src/views/business/propertyMange/index.vue

@@ -7,7 +7,7 @@
           placeholder="请输入资产名称"
           clearable
           size="small"
-          style="width: 240px"
+          style="width: 160px"
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
@@ -17,7 +17,7 @@
           placeholder="请输入存放地点"
           clearable
           size="small"
-          style="width: 240px"
+          style="width: 160px"
           @keyup.enter.native="handleQuery"
         />
       </el-form-item>
@@ -66,11 +66,29 @@
           <el-image
             v-if="scope.row.qrurl"
             style="width: 24px; height: 24px"
-            :preview-src-list="['http://172.16.120.104:8084/archive/' + scope.row.qrurl]"
-            :src="'http://172.16.120.104:8084/archive/' + scope.row.qrurl">
+            :preview-src-list="['https://smartpark.caih.com/dmapi/archive/' + scope.row.qrurl]"
+            :src="'https://smartpark.caih.com/dmapi/archive/' + scope.row.qrurl">
           </el-image>
     </template>
     </el-table-column>
+    <el-table-column label="操作" align="center" class-name="small-padding fixed-width" >
+        <template slot-scope="scope">
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-edit"
+            @click="handleUpdate(scope.row)"
+            v-hasPermi="['system:admin:edit']"
+          >修改</el-button>
+          <el-button
+            size="mini"
+            type="text"
+            icon="el-icon-delete"
+            @click="handleDelete(scope.row)"
+            v-hasPermi="['system:admin:remove']"
+          >删除</el-button>
+        </template>
+      </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">
@@ -78,12 +96,12 @@
         <el-row>
           <el-col :span="12">
             <el-form-item label="资产编号" prop="facilityNo">
-              <el-input v-model="form.facilityNo" placeholder="请填写资产编号" @input="onInput()"/>
+              <el-input v-model.trim="form.facilityNo" placeholder="请填写资产编号" @input="onInput()" maxlength="10" show-word-limit />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="资产名称" prop="facilityName">
-              <el-input v-model="form.facilityName" placeholder="请填写资产名称" @input="onInput()"/>
+              <el-input v-model.trim="form.facilityName" placeholder="请填写资产名称" @input="onInput()" maxlength="10" show-word-limit />
             </el-form-item>
           </el-col>
         </el-row>
@@ -118,7 +136,7 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="负责人" prop="man">
-              <el-input v-model="form.man" placeholder="请填写负责人" @input="onInput()"/>
+              <el-input v-model.trim="form.man" placeholder="请填写负责人" @input="onInput()" maxlength="10" show-word-limit />
             </el-form-item>
           </el-col>
         </el-row>
@@ -138,74 +156,81 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="型号" prop="facilityModel">
-              <el-input v-model="form.facilityModel" placeholder="请填写型号" @input="onInput()"/>
+              <el-input v-model.trim="form.facilityModel" placeholder="请填写型号" @input="onInput()" maxlength="10" show-word-limit />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
             <el-form-item label="计量单位" prop="unit">
-              <el-input v-model="form.unit" placeholder="请填写计量单位" @input="onInput()"/>
+              <el-input v-model.trim="form.unit" placeholder="请填写计量单位" @input="onInput()" maxlength="4" show-word-limit/>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="数量" prop="number">
-              <el-input type="text" onkeyup="this.value=this.value.replace(/^\.+|[^\d\.]/g,'')" onblur="if(this.value ==0||!/^\d+(\.\d{1,2})?$/.test(this.value))this.value=''" v-model="form.number" placeholder="请填写数量" @input="onInput()"/>
+              <el-input type="text" onkeyup="this.value=this.value.replace(/^\.+|[^\d\.]/g,'')" onblur="if(this.value ==0||!/^\d+(\.\d{1,2})?$/.test(this.value))this.value=''"
+              v-model.trim="form.number" placeholder="请填写数量" @input="onInput()" maxlength="5" show-word-limit/>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
             <el-form-item label="单价" prop="price">
-              <el-input type="text"  onkeyup="this.value=this.value.replace(/^\.+|[^\d\.]/g,'')" onblur="if(this.value ==0||!/^\d+(\.\d{1,2})?$/.test(this.value))this.value=''" v-model="form.price" placeholder="请填写单价" @input="onInput()"/>
+              <el-input type="text"  onkeyup="this.value=this.value.replace(/^\.+|[^\d\.]/g,'')"
+              onblur="if(this.value ==0||!/^\d+(\.\d{1,2})?$/.test(this.value))this.value=''"
+              v-model.trim="form.price" placeholder="请填写单价" @input="onInput()"  maxlength="9" show-word-limit />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="存放地点" prop="addrs">
-              <el-input type="textarea" v-model="form.addrs" placeholder="请填写存放地址" @input="onInput()"/>
+              <el-input type="textarea" v-model.trim="form.addrs" placeholder="请填写存放地址" @input="onInput()" rows="3" maxlength="20" show-word-limit />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
             <el-form-item label="供应商" prop="supplier">
-              <el-input v-model="form.supplier" placeholder="请填写供应商" @input="onInput()"/>
+              <el-input v-model.trim="form.supplier" placeholder="请填写供应商" @input="onInput()" maxlength="12" show-word-limit />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="采购编号" prop="buyNo">
-              <el-input v-model="form.buyNo" placeholder="请填写采购编号" @input="onInput()"/>
+              <el-input v-model.trim="form.buyNo" placeholder="请填写采购编号" @input="onInput()" maxlength="15" show-word-limit />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
             <el-form-item label="发票编号" prop="invoice">
-              <el-input v-model="form.invoice" placeholder="请填写发票编号" @input="onInput()"/>
+              <el-input v-model.trim="form.invoice" placeholder="请填写发票编号" @input="onInput()" maxlength="15" show-word-limit />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="资产用途" prop="purpose">
-              <el-input v-model="form.purpose" placeholder="请填写资产用途" @input="onInput()"/>
+              <el-input v-model.trim="form.purpose" placeholder="请填写资产用途" @input="onInput()" maxlength="15" show-word-limit />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
             <el-form-item label="维修周期" prop="warrantyPeriod">
-              <el-input v-model="form.warrantyPeriod" placeholder="请填写维修周期" @input="onInput()"/>
+              <el-input v-model.trim="form.warrantyPeriod" placeholder="请填写维修周期" @input="onInput()" maxlength="4" show-word-limit />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="维修天数" prop="warranty">
-              <el-input type="text" onkeyup="this.value=this.value.replace(/^\.+|[^\d\.]/g,'')" onblur="if(this.value ==0||!/^\d+(\.\d{1,2})?$/.test(this.value))this.value=''" v-model="form.warranty" placeholder="请填写维修天数" @input="onInput()"/>
+              <el-input type="text" onkeyup="this.value=this.value.replace(/^\.+|[^\d\.]/g,'')"
+              onblur="if(this.value ==0||!/^\d+(\.\d{1,2})?$/.test(this.value))this.value=''"
+              v-model.trim="form.warranty" placeholder="请填写维修天数" @input="onInput()" maxlength="4" show-word-limit />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
             <el-form-item label="已使用年限" prop="usedData">
-              <el-input type="text" onkeyup="this.value=this.value.replace(/^\.+|[^\d\.]/g,'')" onblur="if(this.value ==0||!/^\d+(\.\d{1,2})?$/.test(this.value))this.value=''" maxlength="3" v-model="form.usedData" placeholder="请填写使用年限" @input="onInput()"/>
+              <el-input type="text" onkeyup="this.value=this.value.replace(/^\.+|[^\d\.]/g,'')"
+              onblur="if(this.value ==0||!/^\d+(\.\d{1,2})?$/.test(this.value))this.value=''" maxlength="2" show-word-limit
+              v-model.trim="form.usedData" placeholder="请填写使用年限" @input="onInput()"/>
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -300,9 +325,13 @@ export default {
 
       // 表单校验
       rules: {
+        facilityNo:[
+          { required: true, message: "资产编号不能为空", trigger: "blur" }
+        ],
         facilityName: [
           { required: true, message: "资产名称不能为空", trigger: "blur" }
         ],
+
         facilityType: [
           { required: true, message: "类别不能为空", trigger: ["blur",'change'] }
         ],
@@ -353,7 +382,7 @@ export default {
   methods: {
     creatQrCode(text) {//生成二维码
       var qrcode = new QRCode(this.$refs.qrCodeUrl, {
-          text: text,
+          text: "资产编号:" + text,
           width: 500,
           height: 500,
           colorDark: '#000000',
@@ -444,8 +473,8 @@ export default {
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
-      this.title = "新增";
-      this.form = row
+      this.title = "修改";
+      this.form = JSON.parse(JSON.stringify(row))
       this.open = true;
     },
     /** 新增按钮操作 */
@@ -511,7 +540,7 @@ export default {
       this.exportLoading = true;
       exportPropertyMange(queryParams,this.dateRange).then(response =>{
         this.exportLoading = false;
-        document.getElementById("xz").href = BASEPATH() + "archive/" + response.data
+        document.getElementById("xz").href = BASEPATH() + response.data
         document.getElementById("xz").download = response.data
         document.getElementById("xz").click()
       })

+ 1 - 1
src/views/components/fireAlarm/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%;"></div>
   </el-row>
 </template>
 <script>

+ 1 - 1
src/views/components/fireAlarm/index2.vue

@@ -1,6 +1,6 @@
 <template>
   <el-row>
-    <div id="index2" ref="echartD" style="width:100%;height:363px;"></div>
+    <div id="index2" ref="echartD" style="width:100%;height:100%"></div>
   </el-row>
 </template>
 <script>

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

@@ -52,7 +52,7 @@ export default {
               lineStyle: {
                 color: [
                   [this.dataMap, this.color],
-                  [1, "#FF5801"],
+                  [1, "#FF0087"],
                 ],
                 width: this.with,
               },

+ 95 - 27
src/views/components/fireInternetInfo/index2.vue

@@ -1,6 +1,6 @@
 <template>
   <el-row>
-    <div id="index2" ref="echartD" style="width:100%;height:363px;"></div>
+    <div id="index2" ref="echartD" style="width:100%;height:100%"></div>
   </el-row>
 </template>
 <script>
@@ -22,48 +22,116 @@ export default {
     getData() {
       let myChart = echarts.init(document.getElementById("index2"));
       let data = this.resData;
-      let series = []; //定义一个数组变量用于存放配置
-      for (var i = 0; i < data.length -1; i++) {
-        series.push({
-          name: data[i].name,
-          type: "line",
-          areaStyle: {
-            normal: {
-              color: new echarts.graphic.LinearGradient(
-                0,
-                0,
-                0,
-                1,
-                [
-                  {
+      // let name1 = data[0].name
+      // let name2 = data[1].name
+      // console.log(name1,name2)
+       let series = [
+         {
+            name: this.resData[0].name,
+            type: 'line',
+            stack: 'Total',
+            smooth: true,
+            lineStyle: {
+              width: 0
+            },
+            showSymbol: false,
+            areaStyle: {
+              opacity: 0.8,
+              color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+
+                 {
                     offset: 0,
-                    color: "rgba(111,153,250,0.3)"
+                    color: 'rgb(255, 0, 135)'
                   },
                   {
                     offset: 1,
-                    color: "rgba(111,153,250,0)"
+                    color: 'rgb(135, 0, 157)'
                   }
-                ],
-                false
-              ),
-              shadowColor: "rgba(111,153,250, 0.9)",
-              shadowBlur: 20
-            }
+              ])
+            },
+            emphasis: {
+              focus: 'series'
+            },
+            data: data[0].data
           },
-          data: data[i].data
-        });
-      }
+          {
+            name: this.resData[1].name,
+            type: 'line',
+            stack: 'Total',
+            smooth: true,
+            lineStyle: {
+              width: 0
+            },
+            showSymbol: false,
+            areaStyle: {
+              opacity: 0.8,
+              color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+                 {
+                    offset: 0,
+                    color: 'rgb(128, 255, 165)'
+                  },
+                  {
+                    offset: 1,
+                    color: 'rgb(1, 191, 236)'
+                  }
+              ])
+            },
+            emphasis: {
+              focus: 'series'
+            },
+            data: data[1].data
+          }
+       ]; //定义一个数组变量用于存放配置
+      // for (var i = 0; i < data.length -1; i++) {
+      //   series.push({
+      //     name: data[i].name,
+      //     type: "line",
+      //     areaStyle: {
+      //       normal: {
+      //         color: new echarts.graphic.LinearGradient(
+      //           0,
+      //           0,
+      //           0,
+      //           1,
+      //           [
+      //             {
+      //               offset: 0,
+      //               color: "red"
+      //             },
+      //             {
+      //               offset: 1,
+      //               color: "blue"
+      //             }
+      //           ],
+      //           false
+      //         ),
+      //         shadowColor: "rgba(111,153,250, 0.9)",
+      //         shadowBlur: 20
+      //       }
+      //     },
+      //     data: data[i].data
+      //   });
+      // }
       let option = {
         legend: {
           itemGap: 20, // 图例每项之间的间隔。
           icon: "stack",
+          right: 20,
+          top:6,
           padding: 0, // 图例内边距
           textStyle: {
             color: "#ccc",
             align: "center"
           }
         },
-        color: ["#FF5801" , "#37FF01" ],
+        title: {
+          x:'center',
+          text: data[3].name,
+          textStyle:{ //设置主标题风格
+            color:data[3].color,//设置主标题字体颜色
+          },
+        },
+        color: ["#FF0087" , "#80FFA5" ],
         grid: {
           bottom: "0",
           right: "10",

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

@@ -86,7 +86,7 @@ export default {
             data: data
           }
         ],
-        color: ["#EAF665", "#FF5801", "#6F99FA", "#37FF01", "#02DDF2"]
+        color: ['#FF0087', '#00DDFF', '#37A2FF', '#FF5801', '#FFBF00']
       };
       option && myChart.setOption(option);
       window.addEventListener("resize", function() {

+ 5 - 1
src/views/components/index/index2.vue

@@ -26,6 +26,10 @@ export default {
         name.push(val.deviceTypeS)
         num.push(val.deviceCount)
       })
+      setTimeout(()=>{
+        console.log(name)
+      },1000)
+
       // num =[1,10,20,30,40,50]
       let option = {
           xAxis: {
@@ -59,7 +63,7 @@ export default {
               type:'bar'
             },
           ],
-          color: [ "#FF5801", "#6F99FA", "#37FF01", "#02DDF2"]
+          color: ['#FF0087', '#00DDFF', '#37A2FF', '#FF5801', '#FFBF00']
       };
       option && myChart.setOption(option);
       setTimeout(function (){

+ 89 - 29
src/views/components/index/index3.vue

@@ -34,35 +34,95 @@ export default {
         }
       }
       let series = []; //定义一个数组变量用于存放配置
+      let colorShown= [
+        {
+          opacity: 0.8,
+          color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+
+              {
+                offset: 0,
+                color: 'rgb(255, 0, 135)'
+              },
+              {
+                offset: 1,
+                color: 'rgb(135, 0, 157)'
+              }
+          ])
+        },
+        {
+          opacity: 0.8,
+          color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+            {
+                offset: 0,
+                color: 'rgb(0, 221, 255)'
+              },
+              {
+                offset: 1,
+                color: 'rgb(77, 119, 255)'
+              }
+
+          ])
+        },
+        {
+          opacity: 0.8,
+          color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+              {
+                offset: 0,
+                color: 'rgb(55, 162, 255)'
+              },
+              {
+                offset: 1,
+                color: 'rgb(116, 21, 219)'
+              }
+          ])
+        },
+        {
+          opacity: 0.8,
+          color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+
+               {
+                offset: 0,
+                color: 'rgb(128, 255, 165)'
+              },
+              {
+                offset: 1,
+                color: 'rgb(1, 191, 236)'
+              }
+          ])
+        },
+        {
+          opacity: 0.8,
+          color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
+
+              {
+                offset: 0,
+                color: 'rgb(255, 191, 0)'
+              },
+              {
+                offset: 1,
+                color: 'rgb(224, 62, 76)'
+              }
+          ])
+        }
+      ]
       for (var i = 0; i < data[0].list.length; i++) {
-        series.push({
-          name: seriesData[i].name,
-          type: "line",
-          areaStyle: {
-            normal: {
-              color: new echarts.graphic.LinearGradient(
-                0,
-                0,
-                0,
-                1,
-                [
-                  {
-                    offset: 0,
-                    color: "rgba(111,153,250,0.3)"
-                  },
-                  {
-                    offset: 1,
-                    color: "rgba(111,153,250,0)"
-                  }
-                ],
-                false
-              ),
-              shadowColor: "rgba(111,153,250, 0.9)",
-              shadowBlur: 20
-            }
-          },
-          data: seriesData[i].data
-        });
+        series.push(
+          {
+            name: seriesData[i].name,
+            type: 'line',
+            stack: 'Total',
+            smooth: true,
+            lineStyle: {
+              width: 0
+            },
+            showSymbol: false,
+            areaStyle: colorShown[i],
+            emphasis: {
+              focus: 'series'
+            },
+            data: seriesData[i].data
+          }
+        );
       }
       let option = {
         legend: {
@@ -74,7 +134,7 @@ export default {
             align: "center"
           }
         },
-        color: ["#EAF665", "#FF5801", "#6F99FA", "#37FF01", "#02DDF2"],
+        color: ['#FF0087', '#00DDFF', '#37A2FF', '#80FFA5', '#FFBF00'],
         grid: {
           bottom: "0",
           right: "10",

+ 34 - 40
src/views/index.vue

@@ -1,48 +1,48 @@
 <template>
   <div class="app-container home" >
     <div id="main" >
-      <el-row :gutter="20">
+      <el-row :gutter="10">
           <el-col :span="6">
             <div class="card_left">
-              <el-card class="box-card card1 " v-loading="loading1 && loading2">
+              <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:15em" alt="饼图" />
+                  <index1 :resData="index1Data"  style="width:100%;height:12em" alt="饼图" />
                   <div class="title-btn">异常设备数</div>
-                  <index2 :resData="index2Data"  style="width:100%;height:20em;" alt="柱状图" />
+                  <index2 :resData="index2Data"  style="width:100%;height:17em;" alt="柱状图" />
                 </div>
               </el-card>
-              <el-card class="box-card card2 mg20" v-loading="loading3">
+              <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 - 52em);margin-left:-2.5%;" alt="折线图" />
+                  <index3 :resData="index3Data"  style="width:105%;height:calc(100vh - 44.5em);margin-left:-2.5%;" alt="折线图" />
                 </div>
               </el-card>
             </div>
           </el-col>
           <el-col :span="12">
             <div class="card_center">
-              <el-card class="box-card card3" style="padding:0 !important">
-                  <div class="map" style="height:470px">
-                    <iframe style="width:100%;height:100%" src='http://www.thingjs.com/s/ef7ee6a73896c01bda77e679?params=105b0f77fd24654d4eebc434e9'></iframe>
+              <el-card class="box-card card_center1" style="padding:0 !important">
+                  <div class="map" style="height:29.5em">
+                    <iframe style="width:100%;height:100%" src='https://www.thingjs.com/s/ef7ee6a73896c01bda77e679?params=105b0f77fd24654d4eebc434e9'></iframe>
                   </div>
               </el-card>
-              <el-card class="box-card card4 mg20">
+              <el-card class="box-card card_center2 mg10">
                 <div class="title">
                   <span class="h2">实时告警信息</span>
                 </div>
                 <div class="contain">
-                  <el-table :data="index4Data" height="calc(100vh - 46em)" style="margin-top:10px">
+                  <el-table :data="index4Data"  style="margin-top:10px" height="calc(100vh - 39.8em)">
                     <el-table-column label="告警id" align="center" prop="devIdx" />
-                    <el-table-column label="告警时间" align="center" prop="time" />
-                    <el-table-column label="告警设备" align="center" prop="devicename" />
-                    <el-table-column label="设备类型" align="center" prop="dwtype" >
+                    <el-table-column label="告警时间" align="center" prop="time" show-overflow-tooltip />
+                    <el-table-column label="告警设备" align="center" prop="devicename" 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 ? '消防视频监控': scope.row.dwtype == 1 ? '用户传输装置' : '其它' }}</span>
                       </template>
                     </el-table-column>
-                    <el-table-column label="告警内容" align="center" prop="evtname" />
+                    <el-table-column label="告警内容" align="center" prop="evtname" show-overflow-tooltip />
                   </el-table>
                 </div>
               </el-card>
@@ -50,18 +50,19 @@
           </el-col>
           <el-col :span="6">
             <div class="card_right">
-              <el-card class="box-card card3" v-loading="loading4">
+              <el-card class="box-card card_right1" v-loading="loading4">
                 <div class="title">
                   <span class="h2">园区实时报警统计</span>
                 </div>
                 <div class="contain">
                   <div id="total-squares">
                     <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="横状图" />
                 </div>
               </el-card>
-              <el-card class="box-card card4 mg20" v-loading="loading4">
+              <el-card class="box-card card_right2 mg10" v-loading="loading4">
                 <div class="title">
                   <span class="h2">隐患处理</span>
                 </div>
@@ -97,19 +98,18 @@
                   <div class="title-btn" style="margin:10px auto">异常设备数</div>
                   <div>
                     <div>
-                      <el-table :data="index6Data" height="calc(100vh - 52em)">
+                      <el-table :data="index6Data" height="calc(100vh - 54em)">
                         <el-table-column label="序号" align="center" prop="id" />
-                        <el-table-column label="告警值" align="center" prop="property" />
+                        <el-table-column label="告警值" align="center" prop="property" show-overflow-tooltip />
                         <el-table-column label="当前状态" align="center" prop="alarmStatus" >
                           <template slot-scope="scope">
                             <span :class="scope.row.alarmStatus == 1 ? 'unprocess' : 'processed'">{{ scope.row.alarmStatus == 1 ? '已处理': '未处理' }}</span>
                           </template>
                         </el-table-column>
-                        <el-table-column label="处理时间" align="center" prop="updateTime" />
+                        <el-table-column label="处理时间" align="center" prop="updateTime" show-overflow-tooltip />
                       </el-table>
                     </div>
                   </div>
-
                 </div>
               </el-card>
             </div>
@@ -307,13 +307,9 @@ export default {
     }
     .card_left{
       height:100%;
-      .card1{
-        height:38em;
+      .card_left1{
+        height:32em;
         .contain{
-          // margin:30px auto 0;
-          // text-align: center;
-          // position: relative;
-          // width:100%;
           &>div{
             display: inline-block;
           }
@@ -340,8 +336,8 @@ export default {
           }
         }
       }
-      .card2{
-        height:calc(100vh - 46.5em);
+      .card_left2{
+        height:calc(100vh - 39.2em);
         .contain{
           margin:20px auto 0;
           text-align: left;
@@ -390,16 +386,16 @@ export default {
       }
     }
     .card_center{
-      .card3{
-        height:38em;
+      .card_center1{
+        height:32em;
       }
-      .card4{
-        height:calc(100vh - 46.5em);
+      .card_center2{
+        height:calc(100vh - 39.2em);
       }
     }
     .card_right{
-      .card3{
-        height:30em;
+      .card_right1{
+        height:32em;
         #total-squares {
           margin: 2rem auto;
           text-align: center;
@@ -415,8 +411,8 @@ export default {
           }
         }
       }
-      .card4{
-        height:calc(100vh - 38.5em);
+      .card_right2{
+        height:calc(100vh - 39.2em);
       }
     }
   }
@@ -507,9 +503,7 @@ color: #FF5801
 .processed {
     color: #37FF01;
 }
-.mg20{
-  margin-top:20px
-}
+
 </style>
 <style>
 

+ 1 - 1
src/views/recharge/admin/index.vue

@@ -331,4 +331,4 @@ export default {
     }
   }
 };
-</script>
+</script>

+ 1 - 1
src/views/register.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="register">
     <el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form">
-      <h3 class="title">东信充值管理系统</h3>
+      <h3 class="title">东信设备设施管理系统</h3>
       <el-form-item prop="username">
         <el-input v-model="registerForm.username" type="text" auto-complete="off" placeholder="账号">
           <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />

+ 10 - 6
src/views/system/dept/index.vue

@@ -87,34 +87,34 @@
     <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="100px">
         <el-row>
-          <el-col :span="24" v-if="form.parentId !== 0">
+          <el-col :span="16" v-if="form.parentId !== 0">
             <el-form-item label="上级部门" prop="parentId" width="100%">
               <treeselect v-model="form.parentId" :options="deptOptions" :normalizer="normalizer" placeholder="选择上级部门" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="部门名称" prop="deptName">
-              <el-input v-model="form.deptName" placeholder="请输入部门名称" />
+              <el-input v-model.trim="form.deptName" placeholder="请输入部门名称" maxlength="20" show-word-limit/>
             </el-form-item>
           </el-col>
-          <el-col :span="4">
+          <el-col :span="12">
             <el-form-item label="显示排序" prop="orderNum" width="100%">
               <el-input-number v-model="form.orderNum" controls-position="right" :min="0" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="负责人" prop="leader">
-              <el-input v-model="form.leader" placeholder="请输入负责人" maxlength="20" />
+              <el-input v-model.trim="form.leader" placeholder="请输入负责人" maxlength="20" show-word-limit />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="联系电话" prop="phone">
-              <el-input v-model="form.phone" placeholder="请输入联系电话" maxlength="11" />
+              <el-input v-model.trim="form.phone" placeholder="请输入联系电话" maxlength="11" show-word-limit />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="邮箱" prop="email">
-              <el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50" />
+              <el-input v-model.trim="form.email" placeholder="请输入邮箱" maxlength="50" show-word-limit />
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -292,6 +292,8 @@ export default {
               this.msgSuccess("修改成功");
               this.open = false;
               this.getList();
+            }).catch(() =>{
+              this.loading = false
             });
           } else {
             addDept(this.form).then(response => {
@@ -299,6 +301,8 @@ export default {
               this.msgSuccess("新增成功");
               this.open = false;
               this.getList();
+            }).catch(() =>{
+              this.loading = false
             });
           }
         }

+ 7 - 7
src/views/system/menu/index.vue

@@ -91,7 +91,7 @@
     <el-dialog :title="title" :visible.sync="open" width="680px" append-to-body :before-close="cancel" :close-on-click-modal="false">
       <el-form ref="form" :model="form" :rules="rules" label-width="100px">
         <el-row>
-          <el-col :span="24">
+          <el-col :span="16">
             <el-form-item label="上级菜单">
               <treeselect
                 v-model="form.parentId"
@@ -111,7 +111,7 @@
               </el-radio-group>
             </el-form-item>
           </el-col>
-          <el-col :span="24">
+          <el-col :span="16">
             <el-form-item v-if="form.menuType != 'F'" label="菜单图标">
               <el-popover
                 placement="bottom-start"
@@ -135,7 +135,7 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="菜单名称" prop="menuName">
-              <el-input v-model="form.menuName" placeholder="请输入菜单名称" />
+              <el-input v-model.trim="form.menuName" placeholder="请输入菜单名称" maxlength="20" show-word-limit />
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -165,7 +165,7 @@
                 </el-tooltip>
                 路由地址
               </span>
-              <el-input v-model="form.path" placeholder="请输入路由地址" />
+              <el-input v-model.trim="form.path" placeholder="请输入路由地址" maxlength="40" show-word-limit/>
             </el-form-item>
           </el-col>
           <el-col :span="12" v-if="form.menuType == 'C'">
@@ -176,12 +176,12 @@
                 </el-tooltip>
                 组件路径
               </span>
-              <el-input v-model="form.component" placeholder="请输入组件路径" />
+              <el-input v-model.trim="form.component" placeholder="请输入组件路径" maxlength="40" show-word-limit/>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item v-if="form.menuType != 'M'">
-              <el-input v-model="form.perms" placeholder="请输入权限标识" maxlength="100" />
+              <el-input v-model.trim="form.perms" placeholder="请输入权限标识" maxlength="40" show-word-limit />
               <span slot="label">
                 <el-tooltip content="控制器中定义的权限字符,如:@PreAuthorize(`@ss.hasPermi('system:user:list')`)" placement="top">
                 <i class="el-icon-question"></i>
@@ -280,7 +280,7 @@ export default {
       queryParams: {
         menuName: undefined,
         visible: undefined,
-        visible: 0 // 将菜单栏不需要的隐藏 ,打开时不需要此参数
+        //visible: 0 // 将菜单栏不需要的隐藏 ,打开时不需要此参数
       },
       // 表单参数
       form: {},

+ 83 - 53
src/views/system/product/index.vue

@@ -30,18 +30,23 @@
     </el-row>
 
     <el-table v-loading="loading" :data="adminList" >
-      <el-table-column label="单位编号" align="center" prop="ownerId"/>
-      <el-table-column label="单位名称" align="center" prop="ownerName" />
-      <el-table-column label="所属建筑id" align="center" prop="buildingId" />
-      <el-table-column label="单位联系人" align="center" prop="contacts" />
-      <el-table-column label="联系电话" align="center" prop="contactsPhone" />
-      <el-table-column label="创建人" align="center" prop="createMan" />
-      <el-table-column label="创建时间" align="center" prop="createTime" />
+      <!-- <el-table-column label="单位编号" align="center" prop="ownerId"/> -->
+      <el-table-column label="单位名称" align="center" prop="name" />
+      <!-- <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="公司LOGO">
-        <template width="90" slot-scope="scope" >
-          <img style="width:120px;border:none;" :src="scope.row.logo"  >
-        </template>
+        <template slot-scope="scope">
+          <el-image
+            v-if="scope.row.qrurl"
+            style="width: 24px; height: 24px"
+            :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">
         <template slot-scope="scope">
           <el-button
@@ -79,16 +84,27 @@
       <el-table-column label="创建人" align="center" prop="createMan" />
       <el-table-column label="创建时间" align="center" prop="createTime" /> -->
 
-        <el-form-item label="单位名称" prop="ownerName" >
-          <el-input v-model="form.ownerName" placeholder="请输入单位名称" />
+        <el-form-item label="单位名称" prop="name" >
+          <el-input v-model.trim="form.name" placeholder="请输入单位名称" maxlength="20" show-word-limit />
         </el-form-item>
-        <el-form-item label="单位介绍" prop="introduce">
-          <el-input type="textarea" :rows="4" placeholder="请输入单位介绍" v-model="form.introduce">
+        <el-form-item label="单位介绍" prop="remark">
+          <el-input type="textarea" :rows="4" placeholder="请输入单位介绍" v-model.trim="form.remark" maxlength="80" show-word-limit >
           </el-input>
         </el-form-item>
+
         <el-form-item label="单位LOGO" prop="logo" ref="img">
+          <el-upload
+            class="upload-demo"
+            action="#"
+            :limit = 1
+            :on-change="handleChange"
+            :file-list="fileList"
+            >
+            <el-button size="small" type="primary">点击上传</el-button>
+          </el-upload>
+      </el-form-item>
           <!-- <el-checkbox-group v-model="form.logo" v-show="false"></el-checkbox-group> -->
-            <el-upload
+            <!-- <el-upload
               action="#"
               accept="image/png,image/jpg,image/jpeg"
               :http-request="uploadFile"
@@ -107,12 +123,10 @@
                     </span>
                   </span>
                 </div>
-            </el-upload>
-          <el-dialog :visible.sync="dialogVisible" >
+            </el-upload> -->
+          <!-- <el-dialog :visible.sync="dialogVisible" >
             <img width="100%" :src="dialogImageUrl" alt="">
-          </el-dialog>
-        </el-form-item>
-
+          </el-dialog> -->
       </el-form>
       <div slot="footer" class="dialog-footer">
           <el-button type="primary" @click="submitForm" v-if="!loading">确 定</el-button>
@@ -125,7 +139,8 @@
 </template>
 
 <script>
-import { addChannel, updataChannel, delChannel, listChannel, fileId, uploadFileApi, fileTakeEffect, getFile } from "@/api/system/product";
+import { addProduct, updataProduct, delProduct, listProduct } from "@/api/system/product";
+import { fileUpload } from "@/api/business/uploadfile.js";
 export default {
   name: "admin",
   data() {
@@ -176,8 +191,8 @@ export default {
       },
       // 表单校验
       rules: {
-        name: [
-          { required: true, message: "公司名称不能为空", trigger: "blur" }
+        name:[
+          {required: true, message: "单位名称不能为空", trigger: "blur"}
         ],
         logo: [
           { required: true, message: "公司logo不能为空", trigger: "change" }
@@ -195,6 +210,7 @@ export default {
       },
       formData:undefined,
       limit:100,
+      num:0,
     };
   },
   created() {
@@ -213,8 +229,7 @@ export default {
     /** 查询参数列表 */
     getList() {
       this.loading = true;
-      listChannel(this.addDateRange(this.queryParams)).then(response => {
-        console.log(response)
+      listProduct(this.addDateRange(this.queryParams)).then(response => {
         if(response.data.records.length>0){
           let arrBig = response.data.records
           let arr = []
@@ -226,18 +241,18 @@ export default {
           for(let i=1;i<response.data.records.length; i++){
             arr[0].batchNos.push(response.data.records[i].logo)
           }
-          getFile(arr[0]).then(response =>{
-            const reverse = response.data.reverse()
-            for(let i=0;i<response.data.length;i++){
-              arrBig[i].logo = reverse[i].url
-            }
-          })
-          setTimeout(()=>{
+          // getFile(arr[0]).then(response =>{
+          //   const reverse = response.data.reverse()
+          //   for(let i=0;i<response.data.length;i++){
+          //     arrBig[i].logo = reverse[i].url
+          //   }
+          // })
+          //setTimeout(()=>{
             this.loading = false;
             this.adminList = arrBig;
             this.total = response.data.total;
             this.logo = arrBig.logo;
-          },1000)
+          //},1000)
 
         }else{
           this.adminList = []
@@ -388,16 +403,16 @@ export default {
       this.$refs["form"].validate(valid => {
         if (valid) {
           this.loading = true
-          // 上传图片
-          uploadFileApi(this.form.batchNo,this.form.businessType,this.formData).then(response => {
-            if(response.data.length>0){
-              let ids = new FormData()
-              ids.append('ids[]', response.data[0].id)
-              // 上传图片生效
-              fileTakeEffect(response.data[0].batchNo,ids).then(response => {
-                // this.msgSuccess("上传成功");
+          // // 上传图片
+          // uploadFileApi(this.form.batchNo,this.form.businessType,this.formData).then(response => {
+          //   if(response.data.length>0){
+          //     let ids = new FormData()
+          //     ids.append('ids[]', response.data[0].id)
+          //     // 上传图片生效
+          //     fileTakeEffect(response.data[0].batchNo,ids).then(response => {
+          //       // this.msgSuccess("上传成功");
                 if (this.form.id != undefined) {
-                  updataChannel(this.form).then(response => {
+                  updataProduct(this.form).then(response => {
                     this.loading = false,
                     this.msgSuccess("修改成功");
                     this.open = false;
@@ -407,7 +422,7 @@ export default {
                     this.open = false
                   })
                 } else {
-                  addChannel(this.form).then(response => {
+                  addProduct(this.form).then(response => {
                     this.loading = false,
                     this.msgSuccess("新增成功");
                     this.open = false;
@@ -417,14 +432,14 @@ export default {
                     this.open = false
                   })
                 }
-              }).catch(err =>{
-              })
-            }
-          })
-          .catch((e) => {
-            this.$message.error('上传失败')
-            this.getList();
-          })
+          //     }).catch(err =>{
+          //     })
+          //   }
+          // })
+          // .catch((e) => {
+          //   this.$message.error('上传失败')
+          //   this.getList();
+          // })
           // this.removeImg()
         }
       });
@@ -437,7 +452,7 @@ export default {
           cancelButtonText: "取消",
           type: "warning"
         }).then(function() {
-          return delChannel(ids);
+          return delProduct(ids);
         }).then(() => {
           this.getList();
           this.msgSuccess("删除成功");
@@ -448,7 +463,22 @@ export default {
       refreshCache().then(() => {
         this.msgSuccess("刷新成功");
       });
-    }
+    },
+    handleChange(param){
+      this.num++
+      if(this.num>1){
+        this.num = 0
+        return false
+      }else{
+        const formData = new FormData();
+        formData.append('file', param.raw)
+        formData.append('multipart', param.raw)
+        fileUpload(formData).then(response => {
+          this.msgSuccess("上传成功");
+          this.form.logo = response.data
+        });
+      }
+    },
   }
 };
 </script>

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

@@ -54,7 +54,6 @@
         <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
@@ -173,7 +172,7 @@
     <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="form.roleName" placeholder="请输入角色名称" />
+          <el-input v-model.trim="form.roleName" placeholder="请输入角色名称" maxlength="20" show-word-limit/>
         </el-form-item>
         <el-form-item prop="roleKey">
           <span slot="label">
@@ -182,7 +181,7 @@
             </el-tooltip>
             权限字符
           </span>
-          <el-input v-model="form.roleKey" placeholder="请输入权限字符" />
+          <el-input v-model.trim="form.roleKey" 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" />
@@ -212,7 +211,7 @@
           ></el-tree>
         </el-form-item>
         <el-form-item label="备注">
-          <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input>
+          <el-input v-model="form.remark" type="textarea" rows="3" placeholder="请输入内容" maxlength="20" show-word-limit></el-input>
         </el-form-item>
       </el-form>
       <div slot="footer" class="dialog-footer">

+ 28 - 18
src/views/system/user/index.vue

@@ -220,7 +220,7 @@
         <el-row>
           <el-col :span="12">
             <el-form-item label="用户昵称" prop="nickName">
-              <el-input v-model="form.nickName" placeholder="请输入用户昵称" maxlength="30" />
+              <el-input v-model.trim="form.nickName" placeholder="请输入用户昵称" maxlength="15" show-word-limit />
             </el-form-item>
           </el-col>
           <el-col :span="12">
@@ -232,24 +232,24 @@
         <el-row>
           <el-col :span="12">
             <el-form-item label="手机号码" prop="phonenumber">
-              <el-input v-model="form.phonenumber" placeholder="请输入手机号码" maxlength="11" />
+              <el-input v-model.trim="form.phonenumber" placeholder="请输入手机号码" maxlength="11" show-word-limit/>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="邮箱" prop="email">
-              <el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50" />
+              <el-input v-model.trim="form.email" placeholder="请输入邮箱" maxlength="20" show-word-limit />
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
             <el-form-item v-if="form.userId == undefined" label="用户名称" prop="userName">
-              <el-input v-model="form.userName" placeholder="请输入用户名称" maxlength="30" />
+              <el-input v-model.trim="form.userName" placeholder="请输入用户名称" maxlength="30" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item v-if="form.userId == undefined" label="用户密码" prop="password">
-              <el-input v-model="form.password" placeholder="请输入用户密码" type="password" maxlength="20" show-password/>
+              <el-input v-model.trim="form.password" placeholder="请输入用户密码" type="password" maxlength="20" show-password @input="onInput()" />
             </el-form-item>
           </el-col>
         </el-row>
@@ -280,8 +280,8 @@
         </el-row>
         <el-row>
           <el-col :span="12">
-            <el-form-item label="岗位">
-              <el-select v-model="form.postIds"  placeholder="请选择" multiple>
+            <el-form-item label="岗位" prop="postIds2">
+              <el-select v-model="form.postIds2"  placeholder="请选择" >
                 <el-option
                   v-for="item in postOptions"
                   :key="item.postId"
@@ -293,8 +293,9 @@
             </el-form-item>
           </el-col>
           <el-col :span="12">
-            <el-form-item label="角色" prop="roleIds">
-              <el-select v-model="form.roleIds"  placeholder="请选择" multiple>
+            <el-form-item label="角色" prop="roleIds2">
+              <!-- multiple -->
+              <el-select v-model="form.roleIds2"  placeholder="请选择" >
                 <el-option
                   v-for="item in roleOptions"
                   :key="item.roleId"
@@ -309,7 +310,7 @@
         <el-row>
           <el-col :span="24">
             <el-form-item label="备注">
-              <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input>
+              <el-input v-model.trim="form.remark" type="textarea" placeholder="请输入内容" maxlength="30" show-word-limit></el-input>
             </el-form-item>
           </el-col>
         </el-row>
@@ -471,7 +472,7 @@ export default {
             trigger: "blur"
           }
         ],
-        roleIds:[
+        roleIds2:[
            { required: true, message: "用户角色不能为空", trigger: "change"},
         ],
 
@@ -504,6 +505,10 @@ export default {
     });
   },
   methods: {
+    //强制el-input刷新
+    onInput(){
+        this.$forceUpdate();
+    },
     /** 查询用户列表 */
     getList() {
       this.loading = true;
@@ -600,7 +605,6 @@ export default {
     },
     /** 新增按钮操作 */
     handleAdd() {
-      this.reset();
       this.getTreeselect();
       getUser().then(response => {
         this.postOptions = response.data.posts;
@@ -612,15 +616,15 @@ export default {
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
-      this.reset();
       this.getTreeselect();
       const userId = row.userId || this.ids;
       getUser(userId).then(response => {
-        this.form = response.data.data;
+        this.form = JSON.parse(JSON.stringify(response.data.data));
         this.postOptions = response.data.posts;
         this.roleOptions = response.data.roles;
-        this.form.postIds = response.data.postIds;
-        this.form.roleIds = response.data.roleIds;
+        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 = "";
@@ -650,6 +654,14 @@ export default {
       this.$refs["form"].validate(valid => {
         if (valid) {
           this.loading = true
+          let postIds = []
+          let roleIds = []
+          if(this.form.postIds){
+            postIds.push(this.form.postIds2)
+          }
+          roleIds.push(this.form.roleIds2)
+          this.form.postIds = postIds
+          this.form.roleIds = roleIds
           if (this.form.userId != undefined) {
             updateUser(this.form).then(response => {
               this.loading = false
@@ -658,7 +670,6 @@ export default {
               this.getList();
             }).catch(err=>{
               this.loading = false
-              this.open = false;
             });
           } else {
             addUser(this.form).then(response => {
@@ -668,7 +679,6 @@ export default {
               this.getList();
              }).catch(err=>{
               this.loading = false
-              this.open = false;
             });
           }
         }

+ 3 - 3
src/views/system/user/profile/resetPwd.vue

@@ -1,13 +1,13 @@
 <template>
   <el-form ref="form" :model="user" :rules="rules" label-width="80px">
     <el-form-item label="旧密码" prop="oldPassword">
-      <el-input v-model="user.oldPassword" placeholder="请输入旧密码" type="password" show-password/>
+      <el-input v-model.trim="user.oldPassword" placeholder="请输入旧密码" type="password" show-password maxlength="20" show-word-limit/>
     </el-form-item>
     <el-form-item label="新密码" prop="newPassword">
-      <el-input v-model="user.newPassword" placeholder="请输入新密码" type="password" show-password/>
+      <el-input v-model.trim="user.newPassword" placeholder="请输入新密码" type="password" show-password maxlength="20" show-word-limit/>
     </el-form-item>
     <el-form-item label="确认密码" prop="confirmPassword">
-      <el-input v-model="user.confirmPassword" placeholder="请确认密码" type="password" show-password/>
+      <el-input v-model.trim="user.confirmPassword" placeholder="请确认密码" type="password" show-password maxlength="20" show-word-limit/>
     </el-form-item>
     <el-form-item>
       <el-button type="primary" size="mini" @click="submit">保存</el-button>

+ 1 - 1
vue.config.js

@@ -125,4 +125,4 @@ module.exports = {
                 }
             )
     }
-}
+}

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels