Selaa lähdekoodia

站点数据和台账样式修改

djs 3 vuotta sitten
vanhempi
commit
81fdb02771

+ 45 - 36
package-lock.json

@@ -17,6 +17,7 @@
         "html2canvas": "^1.4.1",
         "jspdf": "^2.5.1",
         "moment": "^2.29.3",
+        "vat": "^0.1.0",
         "vite": "2.6.13",
         "vue": "^3.0.4",
         "vue-router": "^4.0.8",
@@ -433,7 +434,7 @@
       "version": "3.1.2",
       "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.2.tgz",
       "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
-      "devOptional": true,
+      "dev": true,
       "dependencies": {
         "normalize-path": "^3.0.0",
         "picomatch": "^2.0.4"
@@ -599,7 +600,7 @@
       "version": "2.2.0",
       "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz",
       "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
-      "devOptional": true,
+      "dev": true,
       "engines": {
         "node": ">=8"
       }
@@ -624,7 +625,7 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz",
       "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-      "devOptional": true,
+      "dev": true,
       "dependencies": {
         "fill-range": "^7.0.1"
       },
@@ -737,7 +738,7 @@
       "version": "3.5.3",
       "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz",
       "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
-      "devOptional": true,
+      "dev": true,
       "dependencies": {
         "anymatch": "~3.1.2",
         "braces": "~3.0.2",
@@ -1405,7 +1406,7 @@
       "version": "7.0.1",
       "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz",
       "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-      "devOptional": true,
+      "dev": true,
       "dependencies": {
         "to-regex-range": "^5.0.1"
       },
@@ -1585,7 +1586,7 @@
       "version": "5.1.2",
       "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz",
       "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
-      "devOptional": true,
+      "dev": true,
       "dependencies": {
         "is-glob": "^4.0.1"
       },
@@ -1804,7 +1805,7 @@
       "version": "4.0.0",
       "resolved": "https://registry.npmmirror.com/immutable/-/immutable-4.0.0.tgz",
       "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==",
-      "devOptional": true
+      "dev": true
     },
     "node_modules/imurmurhash": {
       "version": "0.1.4",
@@ -1868,7 +1869,7 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz",
       "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
-      "devOptional": true,
+      "dev": true,
       "dependencies": {
         "binary-extensions": "^2.0.0"
       },
@@ -1897,7 +1898,7 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz",
       "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
-      "devOptional": true,
+      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -1915,7 +1916,7 @@
       "version": "4.0.3",
       "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz",
       "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
-      "devOptional": true,
+      "dev": true,
       "dependencies": {
         "is-extglob": "^2.1.1"
       },
@@ -1933,7 +1934,7 @@
       "version": "7.0.0",
       "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz",
       "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-      "devOptional": true,
+      "dev": true,
       "engines": {
         "node": ">=0.12.0"
       }
@@ -2564,7 +2565,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz",
       "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
-      "devOptional": true,
+      "dev": true,
       "engines": {
         "node": ">=0.10.0"
       }
@@ -2729,7 +2730,7 @@
       "version": "2.3.1",
       "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz",
       "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
-      "devOptional": true,
+      "dev": true,
       "engines": {
         "node": ">=8.6"
       }
@@ -2976,7 +2977,7 @@
       "version": "3.6.0",
       "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz",
       "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
-      "devOptional": true,
+      "dev": true,
       "dependencies": {
         "picomatch": "^2.2.1"
       },
@@ -3130,7 +3131,7 @@
       "version": "1.52.0",
       "resolved": "https://registry.npmmirror.com/sass/-/sass-1.52.0.tgz",
       "integrity": "sha512-6EnTglag2oVD8sNJCxUi2Jd3ICH9tJ5Mqudt/gIZNBR2uKJUBZuTpW9O1t04SkDLP7VFa76FCWTV2rwchqM8Kw==",
-      "devOptional": true,
+      "dev": true,
       "dependencies": {
         "chokidar": ">=3.0.0 <4.0.0",
         "immutable": "^4.0.0",
@@ -3549,7 +3550,7 @@
       "version": "5.0.1",
       "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz",
       "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-      "devOptional": true,
+      "dev": true,
       "dependencies": {
         "is-number": "^7.0.0"
       },
@@ -3700,6 +3701,11 @@
         "spdx-expression-parse": "^3.0.0"
       }
     },
+    "node_modules/vat": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmmirror.com/vat/-/vat-0.1.0.tgz",
+      "integrity": "sha512-kMBmd++a8ma7mprWl64cYPXW1ukW7gRrtu66W8EEhWa65EW43FUSSdz4qM3U0CT5P4Prctp5aA6weITr9BD3iQ=="
+    },
     "node_modules/verror": {
       "version": "1.10.0",
       "resolved": "https://registry.npmmirror.com/verror/-/verror-1.10.0.tgz",
@@ -4127,8 +4133,7 @@
     "@element-plus/icons-vue": {
       "version": "2.0.6",
       "resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.0.6.tgz",
-      "integrity": "sha512-lPpG8hYkjL/Z97DH5Ei6w6o22Z4YdNglWCNYOPcB33JCF2A4wye6HFgSI7hEt9zdLyxlSpiqtgf9XcYU+m5mew==",
-      "requires": {}
+      "integrity": "sha512-lPpG8hYkjL/Z97DH5Ei6w6o22Z4YdNglWCNYOPcB33JCF2A4wye6HFgSI7hEt9zdLyxlSpiqtgf9XcYU+m5mew=="
     },
     "@gar/promisify": {
       "version": "1.1.3",
@@ -4194,8 +4199,7 @@
     "@vitejs/plugin-vue": {
       "version": "2.3.3",
       "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-2.3.3.tgz",
-      "integrity": "sha512-SmQLDyhz+6lGJhPELsBdzXGc+AcaT8stgkbiTFGpXPe8Tl1tJaBw1A6pxDqDuRsVkD8uscrkx3hA7QDOoKYtyw==",
-      "requires": {}
+      "integrity": "sha512-SmQLDyhz+6lGJhPELsBdzXGc+AcaT8stgkbiTFGpXPe8Tl1tJaBw1A6pxDqDuRsVkD8uscrkx3hA7QDOoKYtyw=="
     },
     "@vue/compiler-core": {
       "version": "3.2.34",
@@ -4368,7 +4372,7 @@
       "version": "3.1.2",
       "resolved": "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.2.tgz",
       "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
-      "devOptional": true,
+      "dev": true,
       "requires": {
         "normalize-path": "^3.0.0",
         "picomatch": "^2.0.4"
@@ -4501,7 +4505,7 @@
       "version": "2.2.0",
       "resolved": "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.2.0.tgz",
       "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
-      "devOptional": true
+      "dev": true
     },
     "bluebird": {
       "version": "3.7.2",
@@ -4523,7 +4527,7 @@
       "version": "3.0.2",
       "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz",
       "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
-      "devOptional": true,
+      "dev": true,
       "requires": {
         "fill-range": "^7.0.1"
       }
@@ -4612,7 +4616,7 @@
       "version": "3.5.3",
       "resolved": "https://registry.npmmirror.com/chokidar/-/chokidar-3.5.3.tgz",
       "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
-      "devOptional": true,
+      "dev": true,
       "requires": {
         "anymatch": "~3.1.2",
         "braces": "~3.0.2",
@@ -5090,7 +5094,7 @@
       "version": "7.0.1",
       "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz",
       "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
-      "devOptional": true,
+      "dev": true,
       "requires": {
         "to-regex-range": "^5.0.1"
       }
@@ -5224,7 +5228,7 @@
       "version": "5.1.2",
       "resolved": "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz",
       "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
-      "devOptional": true,
+      "dev": true,
       "requires": {
         "is-glob": "^4.0.1"
       }
@@ -5398,7 +5402,7 @@
       "version": "4.0.0",
       "resolved": "https://registry.npmmirror.com/immutable/-/immutable-4.0.0.tgz",
       "integrity": "sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw==",
-      "devOptional": true
+      "dev": true
     },
     "imurmurhash": {
       "version": "0.1.4",
@@ -5456,7 +5460,7 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz",
       "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
-      "devOptional": true,
+      "dev": true,
       "requires": {
         "binary-extensions": "^2.0.0"
       }
@@ -5479,7 +5483,7 @@
       "version": "2.1.1",
       "resolved": "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz",
       "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
-      "devOptional": true
+      "dev": true
     },
     "is-fullwidth-code-point": {
       "version": "3.0.0",
@@ -5491,7 +5495,7 @@
       "version": "4.0.3",
       "resolved": "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz",
       "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
-      "devOptional": true,
+      "dev": true,
       "requires": {
         "is-extglob": "^2.1.1"
       }
@@ -5506,7 +5510,7 @@
       "version": "7.0.0",
       "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz",
       "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
-      "devOptional": true
+      "dev": true
     },
     "is-plain-obj": {
       "version": "1.1.0",
@@ -6011,7 +6015,7 @@
       "version": "3.0.0",
       "resolved": "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz",
       "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
-      "devOptional": true
+      "dev": true
     },
     "normalize-wheel": {
       "version": "1.0.1",
@@ -6140,7 +6144,7 @@
       "version": "2.3.1",
       "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz",
       "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
-      "devOptional": true
+      "dev": true
     },
     "postcss": {
       "version": "8.4.14",
@@ -6340,7 +6344,7 @@
       "version": "3.6.0",
       "resolved": "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz",
       "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
-      "devOptional": true,
+      "dev": true,
       "requires": {
         "picomatch": "^2.2.1"
       }
@@ -6460,7 +6464,7 @@
       "version": "1.52.0",
       "resolved": "https://registry.npmmirror.com/sass/-/sass-1.52.0.tgz",
       "integrity": "sha512-6EnTglag2oVD8sNJCxUi2Jd3ICH9tJ5Mqudt/gIZNBR2uKJUBZuTpW9O1t04SkDLP7VFa76FCWTV2rwchqM8Kw==",
-      "devOptional": true,
+      "dev": true,
       "requires": {
         "chokidar": ">=3.0.0 <4.0.0",
         "immutable": "^4.0.0",
@@ -6780,7 +6784,7 @@
       "version": "5.0.1",
       "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz",
       "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
-      "devOptional": true,
+      "dev": true,
       "requires": {
         "is-number": "^7.0.0"
       }
@@ -6905,6 +6909,11 @@
         "spdx-expression-parse": "^3.0.0"
       }
     },
+    "vat": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmmirror.com/vat/-/vat-0.1.0.tgz",
+      "integrity": "sha512-kMBmd++a8ma7mprWl64cYPXW1ukW7gRrtu66W8EEhWa65EW43FUSSdz4qM3U0CT5P4Prctp5aA6weITr9BD3iQ=="
+    },
     "verror": {
       "version": "1.10.0",
       "resolved": "https://registry.npmmirror.com/verror/-/verror-1.10.0.tgz",

+ 2 - 1
package.json

@@ -17,8 +17,9 @@
     "html2canvas": "^1.4.1",
     "jspdf": "^2.5.1",
     "moment": "^2.29.3",
+    "vat": "^0.1.0",
     "vite": "2.6.13",
-    "vue": "^3.0.4",
+    "vue": "next",
     "vue-router": "^4.0.8",
     "vuex": "^4.0.2"
   },

+ 3 - 3
src/Layout/AppMain/index.vue

@@ -23,14 +23,14 @@ export default defineComponent({
 
 <style lang="scss" scoped>
 .app-main {
-  height: calc(100vh - 100px);
+  height: calc(100vh - 62px);
   width: 100%;
   position: relative;
   overflow-y: hidden;
   // overflow-x: hidden;
-  box-shadow: 0px 0px 5px #FFC0CB;
+  box-shadow: 0px 0px 0px #FFC0CB;
   background-color: #fff;
-  padding: 20px;
+  padding: 10px;
   box-sizing: border-box;
 }
 

+ 3 - 1
src/Layout/index.vue

@@ -33,10 +33,12 @@ export default {
   background-color: #545c64;
 }
 .el-main {
-  background-color: #e9eef3;
+  background-color: #CDCDCD;
   color: #333;
+  padding: 1px 0px;
 }
 .Sidebar {
   background-color: #333;
 }
+
 </style>

+ 120 - 87
src/views/station/stationacc/index.vue

@@ -1,91 +1,101 @@
 <template>
     <div>
-        <el-form :inline="true" :model="queryParams">
-            <el-form-item label="遥测站编码" style="width: 210px;">
-                <el-input v-model="queryParams.stationCode" placeholder="站点编码" clearable/>
-            </el-form-item>
-            <el-form-item label="遥测站名称">
-                <el-input v-model="queryParams.stationName" placeholder="遥测站点" clearable/>
-            </el-form-item>
-            <el-form-item label="设备SN" style="width: 210px;">
-                <el-input v-model="queryParams.deviceSn" placeholder="设备SN" clearable/>
-            </el-form-item>
-            <el-form-item label="使用单位">
-                <el-select v-model="queryParams.unitCode" placeholder="使用单位" filterable clearable>
-                    <el-option v-for="item in state.unitData" :key="item.unitCode" :label="item.unitName"
-                        :value="item.unitCode"></el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="关联单位">
-                <el-select v-model="queryParams.visUnitCodes" placeholder="关联单位" filterable clearable>
-                    <el-option v-for="item in state.unitData2" :key="item.unitCode" :label="item.unitName"
-                        :value="item.unitCode" />
-                </el-select>
-            </el-form-item>
-
-            <el-form-item>
-                <el-button type="primary" class="button" :disabled="state.search_disabled" @click="queryList(true)">
-                    查询信息
-                </el-button>
-            </el-form-item>
-            <el-form-item>
-                <el-button type="primary" class="button" @click="handleAdd" :disabled="!adminFlag">新增遥测站</el-button>
-            </el-form-item>
-        </el-form>
-
-        <el-table v-loading="loading" :data="state.tableData" border stripe style="width: 100%," :height="tableHeight"
-            highlight-current-row @current-change="handleCurrentRowChange" size="large"
-            :header-cell-style="{ background: '#606266', color: '#FFFFFF' }">
-            <el-table-column fixed prop="stationCode" label="遥测站编码" header-align="center" width="100" />
-            <el-table-column fit prop="stationName" label="遥测站名称" header-align="center" min-width="150" />
-            <!-- <el-table-column fit prop="groupName" label="站点组" header-align="center" min-width="90" /> -->
-            <el-table-column fit prop="unitName" label="使用单位" header-align="center" min-width="90"
-                show-overflow-tooltip="unitName" />
-            <el-table-column label="当前读数" header-align="center" width="90" />
-            <el-table-column prop="stationContacts" label="联系人" header-align="center" width="90" />
-            <!-- <el-table-column prop="stationLon" label="遥测站点经度" header-align="center" width="120" /> -->
-            <el-table-column prop="stationLat" label="遥测站点" header-align="center" width="120">
-                <template #default="scope">
-                    <el-space direction="vertical" alignment="start">
-                        <el-tag size="small">Lon:{{ scope.row.stationLon }}</el-tag>
-                        <el-tag size="small">Lat:{{ scope.row.stationLat }}</el-tag>
-                    </el-space>
-                </template>
-            </el-table-column>
-            <el-table-column label="状态" header-align="center" align="center" width="80">
-                <template #default="scope">
-                    <el-tag :type="UseStateColorMap[scope.row.useFlag]" size="small">{{ UseStateMap[scope.row.useFlag]
-                    }}</el-tag>
-                </template>
-            </el-table-column>
-            <el-table-column label="站点安装信息" header-align="center" width="150">
-                <template #default="scope">
-                    <el-space direction="vertical" alignment="start">
-                        <el-tag :type="SetupColorMap[scope.row.deviceSetupFlag]" size="small">{{
-                                SetupMap[scope.row.deviceSetupFlag]
+        <el-card>
+            <template #header>
+                <div class="card-header">
+                    <el-form :inline="true" :model="queryParams">
+                        <el-form-item label="遥测站编码" style="width: 210px;">
+                            <el-input v-model="queryParams.stationCode" placeholder="站点编码" clearable/>
+                        </el-form-item>
+                        <el-form-item label="遥测站名称">
+                            <el-input v-model="queryParams.stationName" placeholder="遥测站点" clearable/>
+                        </el-form-item>
+                        <el-form-item label="设备编号" style="width: 210px;">
+                            <el-input v-model="queryParams.deviceSn" placeholder="设备编号" clearable/>
+                        </el-form-item>
+                        <el-form-item label="使用单位">
+                            <el-select v-model="queryParams.unitCode" placeholder="使用单位" filterable clearable>
+                                <el-option v-for="item in state.unitData" :key="item.unitCode" :label="item.unitName"
+                                    :value="item.unitCode"></el-option>
+                            </el-select>
+                        </el-form-item>
+                        <el-form-item label="关联单位">
+                            <el-select v-model="queryParams.visUnitCodes" placeholder="关联单位" filterable clearable>
+                                <el-option v-for="item in state.unitData2" :key="item.unitCode" :label="item.unitName"
+                                    :value="item.unitCode" />
+                            </el-select>
+                        </el-form-item>
+
+                        <el-form-item>
+                            <el-button type="primary" class="button" :disabled="state.search_disabled" @click="queryList(true)">
+                                查询信息
+                            </el-button>
+                        </el-form-item>
+                        <el-form-item>
+                            <el-button type="primary" class="button" @click="handleAdd" :disabled="!adminFlag">新增遥测站</el-button>
+                        </el-form-item>
+                    </el-form>
+                </div>
+            </template>
+
+            <el-table v-loading="loading" :data="state.tableData" border stripe style="width: 100%," :height="tableHeight"
+                highlight-current-row @current-change="handleCurrentRowChange" size="large"
+                :header-cell-style="{ background: '#FF000000', color: '#000000' }">
+                <el-table-column fixed prop="stationCode" label="遥测站编码" header-align="center" width="100" />
+                <el-table-column fit prop="stationName" label="遥测站名称" header-align="center"  width="250" />
+                <!-- <el-table-column fit prop="groupName" label="站点组" header-align="center" min-width="90" /> -->
+                <el-table-column prop="deviceSn" label="设备编号" header-align="center" align="center" width="120" />
+                <el-table-column fit prop="unitName" label="使用单位" header-align="center" min-width="90" width="250"
+                    show-overflow-tooltip="unitName" />
+                <el-table-column label="当前读数" header-align="center" width="100" />
+                <el-table-column prop="stationContacts" label="站点联系信息" header-align="center" width="150" />
+                <!-- <el-table-column prop="stationLon" label="遥测站点经度" header-align="center" width="120" /> -->
+                <el-table-column prop="stationLat" label="站点经纬度" header-align="center" width="120">
+                    <template #default="scope">
+                        <el-space direction="horation" alignment="start">
+                            <!-- <el-tag size="small">Lon:{{ scope.row.stationLon }}</el-tag>
+                            <el-tag size="small">Lat:{{ scope.row.stationLat }}</el-tag> -->
+                            <span >{{
+                                scope.row.stationLat==null ? " ":scope.row.stationLat + ","+ scope.row.stationLat
+                            }}</span>
+                        </el-space>
+                    </template>
+                </el-table-column>
+                <el-table-column label="状态" header-align="center" align="center" width="80">
+                    <template #default="scope">
+                        <el-tag :type="UseStateColorMap[scope.row.useFlag]" size="small">{{ UseStateMap[scope.row.useFlag]
                         }}</el-tag>
-                        <el-tag size="small">人员:{{ scope.row.deviceSetupMan }}</el-tag>
-                        <el-tag size="small"> 日期:{{ tool.dateFormat(scope.row.deviceSetupDate) }}</el-tag>
-                    </el-space>
-                </template>
-            </el-table-column>
-            <el-table-column prop="deviceSn" label="设备SN" header-align="center" align="center" width="120" />
-            <el-table-column prop="memo" label="备注" header-align="center" align="left" min-width="150" />
-            <el-table-column fixed="right" label="" align="left" width="190">
-                <template #default="scope">
-                    <el-button type="text">设备参数</el-button>
-                    <el-button type="text" @click="handleEdit(scope.row)" :disabled="!adminFlag">编辑</el-button>
-                    <el-button type="text" @click="handleDelete(scope.row)" :disabled="!adminFlag">删除</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-        <el-config-provider :locale="locale">
-            <el-pagination v-model:currentPage="queryParams.page" v-model:page-size="queryParams.rows"
-                :page-sizes="[10, 15, 20, 25, 100]" :small="state.small" :disabled="state.disabled"
-                :background="state.background" layout="total, sizes, prev, pager, next, jumper" :total="state.total"
-                style="text-align: center;margin-top: 10px;height: 30px;" @size-change="handleSizeChange"
-                @current-change="handleCurrentChange" />
-        </el-config-provider>
+                    </template>
+                </el-table-column>
+                <el-table-column label="站点安装信息" header-align="center" width="200">
+                    <template #default="scope">
+                        <el-space direction="horation" alignment="start">
+                            <el-tag :type="SetupColorMap[scope.row.deviceSetupFlag]" size="small">{{
+                                    SetupMap[scope.row.deviceSetupFlag]
+                            }}</el-tag>
+                            <!-- <el-tag size="small">人员:{{ scope.row.deviceSetupMan }}</el-tag> -->
+                            <el-tag size="small"> 日期:{{ tool.dateFormat(scope.row.deviceSetupDate) }}</el-tag>
+                        </el-space>
+                    </template>
+                </el-table-column>
+                
+                <el-table-column prop="memo" label="备注" header-align="center" align="left" min-width="150" />
+                <el-table-column fixed="right" label="" align="left" width="190">
+                    <template #default="scope">
+                        <el-button type="text">设备参数</el-button>
+                        <el-button type="text" @click="handleEdit(scope.row)" :disabled="!adminFlag">编辑</el-button>
+                        <el-button type="text" @click="handleDelete(scope.row)" :disabled="!adminFlag">删除</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+            <el-config-provider :locale="locale">
+                <el-pagination v-model:currentPage="queryParams.page" v-model:page-size="queryParams.rows"
+                    :page-sizes="[10, 15, 20, 25, 100]" :small="state.small" :disabled="state.disabled"
+                    :background="state.background" layout="total, sizes, prev, pager, next, jumper" :total="state.total"
+                    style="text-align: center;margin-top: 10px;height: 30px;" @size-change="handleSizeChange"
+                    @current-change="handleCurrentChange" />
+            </el-config-provider>
+        </el-card>
 
         <el-dialog :title="formdialog.title" v-model="formdialog.visible" width="810px" draggable center>
             <el-form ref="formRef" :model="formData" :rules="state.rules" label-width="100px">
@@ -285,7 +295,7 @@ const {
     //groupData,
 } = toRefs(state);
 
-const tableHeight = ref(document.documentElement.clientHeight - 250);
+const tableHeight = ref(document.documentElement.clientHeight - 200);
 
 const currentRow = ref()
 
@@ -495,7 +505,7 @@ const queryList = (firstPage: boolean) => {
 
 onMounted(() => {
     window.onresize = function () {
-        tableHeight.value = document.documentElement.clientHeight - 250;
+        tableHeight.value = document.documentElement.clientHeight - 200;
     }
     queryList(false);
     queryUnit();
@@ -533,6 +543,29 @@ const queryUnit = () => {
     margin: 10px 0;
 }
 
+.card-header {
+    display: flexbox;
+    justify-content: space-between;
+    align-items: center;
+    vertical-align: center;
+    justify-content: center;
+    background-color: #E8EDF0; 
+    height: 55px;
+    margin: -10px;
+    padding: 5px 10px;
+}
+
+
+.el-card ::v-deep .el-card__header {
+  padding: 10px 10px;
+  background-color: white;
+}
+
+.el-card ::v-deep .el-card__body {
+  padding: 1px;
+  background-color: #E8EDF0;
+}
+
 .el-table .warning-row {
     --el-table-tr-bg-color: var(--el-color-warning-light-9);
 }

+ 93 - 23
src/views/station/stationdata/index.vue

@@ -60,26 +60,37 @@
                     <el-table v-loading="loading" :data="state.tableData" border stripe style="width: 100%"
                         ref="my_table" :height="tableHeight" highlight-current-row
                         @current-change="handleCurrentRowChange"
-                        :header-cell-style="{ background: '#606266', color: '#FFFFFF' }">
+                        :header-cell-style="{ background: '#FF000000', color: '#000000' }">
 
                         <el-table-column fixed type="index" width="50" align="center" />
 
                         <!-- 先改成和工作数据一样的列了,内部方便看数据(后面一样是内部看详细,客户看简要) 2022-07-08 guozhao -->
-                        <el-table-column fixed prop="deviceSn" label="设备" header-align="center" width="140">
+                        <el-table-column fixed prop="deviceSn" label="设备" header-align="center" width="180">
                             <template #default="scope">
                                 <el-space direction="vertical" alignment="start">
-                                    <el-tag size="small" style="width: 110px">SN:<span style="color: blue">{{
+                                    <span :title="scope.row.stationName"
+                                            style="color: blue;display: inline-block;font-size: 0.95em;">{{
+                                            scope.row.stationName
+                                    }}</span>
+                                    <span style="color: black;font-size: 0.95em;">{{
+                                            'SN:&nbsp'+scope.row.deviceSn
+                                    }}</span>
+                                    <span style="color: black;font-size: 0.95em;">{{
+                                            'ID&nbsp&nbsp:&nbsp'+scope.row.stationCode
+                                    }}</span>
+                                    <!-- <el-tag size="small" style="width: 110px">SN:<span style="color: blue">{{
                                             scope.row.deviceSn
                                     }}</span></el-tag>
                                     <el-tag size="small" style="width: 110px">ID:<span style="color: green">{{
                                             scope.row.stationCode
-                                    }}</span></el-tag>
-                                    <el-tag size="small" style="width: 110px">MC:<span :title="scope.row.stationName"
+                                    }}</span></el-tag> -->
+
+                                    <!-- <el-tag size="small" style="width: 110px">MC:<span :title="scope.row.stationName"
                                             style="color: green;width: 63px;display: inline-block;">{{
                                                     scope.row.stationName != null && scope.row.stationName.length > 5 ?
                                                         scope.row.stationName.substring(0, 5) + '...' : scope.row.stationName
                                             }}</span>
-                                    </el-tag>
+                                    </el-tag> -->
                                 </el-space>
                             </template>
                         </el-table-column>
@@ -121,44 +132,59 @@
                                 </el-space>
                             </template>
                         </el-table-column>
-                        <el-table-column label="时间" header-align="center" width="180">
+                        <el-table-column label="时间" header-align="center" width="170">
                             <template #default="scope">
                                 <el-space direction="vertical" alignment="start">
-                                    <el-tag size="small" style="font-weight: bold;width: 158px">采样时间:<span
+                                    <!-- <el-tag size="small" style="font-weight: bold;width: 158px">采样:<span
                                             style="color: blue;font-weight: bold;">{{
                                                     tool.dateFormatYMDHm(scope.row.sampleTime)
                                             }}</span></el-tag>
-                                    <el-tag size="small" v-if="userType === '0'">发报时间:<span style="color: green">{{
+                                    <el-tag size="small" v-if="userType === '0'">发报:<span style="color: green">{{
                                             tool.dateFormat(scope.row.rptTime)
                                     }}</span>
                                     </el-tag>
-                                    <el-tag size="small" v-if="userType === '0'">接收时间:<span style="color: red">{{
+                                    <el-tag size="small" v-if="userType === '0'">接收:<span style="color: red">{{
                                             tool.dateFormat(scope.row.revTime)
                                     }}</span>
-                                    </el-tag>
+                                    </el-tag> -->
+                                    <span style="color: blue;font-weight: normal;">{{
+                                        "采样:" + tool.dateFormatYMDHm(scope.row.sampleTime)
+                                    }}</span>
+                                    <span style="color: #000000;font-size: 0.95em;">{{
+                                        "发报:" + tool.dateFormat(scope.row.rptTime)
+                                    }}</span>
+                                    <span style="color: #000000;;font-size: 0.95em;">{{
+                                        "接收:" + tool.dateFormat(scope.row.revTime)
+                                    }}</span>                                    
                                 </el-space>
                             </template>
                         </el-table-column>
-                        <el-table-column label="工作状态" header-align="center" width="110">
+                        <el-table-column label="工作参数" header-align="center" width="110">
                             <template #default="scope">
                                 <el-space direction="vertical" alignment="start">
-                                    <el-tag size="small">信号:<span style="color: blue">{{ scope.row.rsrp }}</span>
+                                    <!-- <el-tag size="small">信号:<span style="color: blue">{{ scope.row.rsrp }}</span>
                                     </el-tag>
                                     <el-tag size="small">电压:<span style="color: green">{{ scope.row.voltage }}</span>
                                     </el-tag>
                                     <el-tag size="small" v-if="userType === '0'">信噪比:<span style="color: red">{{
                                             scope.row.snr
                                     }}</span>
-                                    </el-tag>
+                                    </el-tag> -->
+                                    <span style="color: blue;font-size: 0.95em;">{{ "信号&nbsp&nbsp&nbsp&nbsp:" + scope.row.rsrp }}</span>                                    
+                                    <span style="color: green;font-size: 0.95em;">{{"电压&nbsp&nbsp&nbsp&nbsp:" + scope.row.voltage }}</span>
+                                    <div v-if="userType === '0'">信噪比:<span style="color: black;font-size: 0.95em;">{{
+                                            scope.row.snr
+                                    }}</span>
+                                    </div>
                                 </el-space>
                             </template>
                         </el-table-column>
-                        <el-table-column label="设备版本" header-align="center" width="185">
+                        <el-table-column label="设备版本" header-align="center" width="180">
                             <template #default="scope">
                                 <el-space direction="vertical" alignment="start">
-                                    <el-tag size="small">Software :<span style="color: blue">{{ scope.row.softVer
+                                    <el-tag size="small">MCU:<span style="color: blue">{{ scope.row.softVer
                                     }}</span></el-tag>
-                                    <el-tag size="small">AiVersion:<span style="color: green">{{ scope.row.aiVersion
+                                    <el-tag size="small">AI&nbsp&nbsp&nbsp&nbsp:<span style="color: green">{{ scope.row.aiVersion
                                     }}</span></el-tag>
                                     <el-row v-if="userType === '0'">
                                         <el-col :span="13">
@@ -170,6 +196,25 @@
                                             }}</span></el-tag>
                                         </el-col>
                                     </el-row>
+                                    <!-- <div style="color: #606266;font-size: 0.95em;">MCU:
+                                        <span style="color: green">{{scope.row.softVer
+                                        }}</span>
+                                    </div>
+                                    <div style="color: #606266;font-size: 0.95em;">AI&nbsp&nbsp&nbsp&nbsp&nbsp:
+                                        <span style="color: green">{{ 
+                                            scope.row.aiVersion
+                                        }}</span>
+                                    </div>
+                                    <el-row v-if="userType === '0'">
+                                        <el-col>
+                                            <div>
+                                                <span style="font-size: 0.95em;width: 1px;">CPU \ NB:</span>
+                                                <span style="color: green">{{ scope.row.hardVersion + ' \\ ' + scope.row.nbVersion
+                                                }}</span>
+                                            </div>
+                                        </el-col>
+
+                                    </el-row> -->
                                 </el-space>
                             </template>
                         </el-table-column>
@@ -219,7 +264,8 @@ import global from "@/until/global";
 let locale = ref(zhCn);
 
 const my_table = ref();
-const tableHeight = ref(document.documentElement.clientHeight - 280);
+//const tableHeight = ref(document.documentElement.clientHeight - 280);
+const tableHeight = ref(document.documentElement.clientHeight - 185);
 const loading = ref(false);
 // const defaultDate = new Date();
 const tree_loading = ref(false);
@@ -508,7 +554,8 @@ const handleCurrentChange = (val: number) => {
 
 onMounted(() => {
     window.onresize = function () {
-        tableHeight.value = document.documentElement.clientHeight - 280;
+        //tableHeight.value = document.documentElement.clientHeight - 280;
+        tableHeight.value = document.documentElement.clientHeight - 185;
     };
     handleRefresh();
     queryUnit();
@@ -552,14 +599,14 @@ const queryUnit = () => {
 }
 
 .div {
-    height: calc(100vh - 236px);
+    height: calc(100vh - 140px);
 }
 
 .tree {
     overflow-y: scroll;
     overflow-x: auto;
     width: 100%;
-    height: calc(100vh - 236px);
+    height: calc(100vh - 140px);
     overflow: auto;
 }
 
@@ -574,9 +621,9 @@ const queryUnit = () => {
     display: flex;
     align-items: center;
     justify-content: space-between;
-    font-size: 18px;
+    font-size: 16px;
     padding-right: 0px;
-    margin-left: 10px;
+    margin-left: 5px;
 }
 
 .el-dropdown-link {
@@ -585,4 +632,27 @@ const queryUnit = () => {
     display: flex;
     align-items: center;
 }
+
+.el-card ::v-deep .el-card__header {
+  padding: 10px 10px;
+  background-color: white;
+}
+
+.el-card ::v-deep .el-card__body {
+  padding: 1px;
+  background-color: white;
+}
+
+// .el-table th.el-table__cell {
+//     overflow: hidden;
+//     -webkit-user-select: none;
+//     -moz-user-select: none;
+//     user-select: none;
+//     background-color: #FFF;
+//     background: cadetblue;
+//     color: #000;
+//     border: 1px solid rosybrown;
+//     font-size: 20px;
+//     text-align: center;
+// }
 </style>