ln 2 роки тому
батько
коміт
c024362d2a
61 змінених файлів з 560 додано та 134 видалено
  1. 1 1
      .env.development
  2. 1 1
      manage/index.html
  3. 1 1
      manage/static/css/app.c66a46be.css
  4. 1 1
      manage/static/css/chunk-0e7276a4.97f549c4.css
  5. 0 6
      manage/static/css/chunk-179842ca.850b0139.css
  6. 6 0
      manage/static/css/chunk-18dda7de.f0703bf9.css
  7. 2 2
      manage/static/css/chunk-9f977eea.a05c48da.css
  8. 0 7
      manage/static/css/chunk-31476172.3afb8e42.css
  9. 1 1
      manage/static/css/chunk-34cc96a6.44804637.css
  10. 0 6
      manage/static/css/chunk-3deb75f6.efe0f3ef.css
  11. 6 0
      manage/static/css/chunk-4ac88b52.40b3f944.css
  12. 0 6
      manage/static/css/chunk-53ea833a.a9821aba.css
  13. 6 0
      manage/static/css/chunk-53f1eafc.6112a018.css
  14. 6 0
      manage/static/css/chunk-5529d741.1f831f23.css
  15. 1 1
      manage/static/css/chunk-5a3493ef.601fad95.css
  16. 1 1
      manage/static/css/chunk-5b685476.6edec273.css
  17. 0 6
      manage/static/css/chunk-63d40358.0fb94869.css
  18. 1 1
      manage/static/css/chunk-6b208424.3f1439af.css
  19. 1 1
      manage/static/css/chunk-7cbc41e5.8ba8f05b.css
  20. 7 0
      manage/static/css/chunk-a81e4b78.2457d9c0.css
  21. 6 0
      manage/static/css/chunk-c0c44a18.c40df83f.css
  22. 0 6
      manage/static/css/chunk-c3c0a24a.93194c77.css
  23. 2 2
      manage/static/css/chunk-459c9879.e39c5fdd.css
  24. 6 0
      manage/static/css/chunk-cfbf8292.12c21748.css
  25. 1 1
      manage/static/css/element-ui.0e3a750b.css
  26. 1 1
      manage/static/css/vab-layouts.12c46285.css
  27. 4 4
      manage/static/js/app.844ffbc4.js
  28. 1 1
      manage/static/js/chunk-0e7276a4.870b8345.js
  29. 0 7
      manage/static/js/chunk-179842ca.8ae29131.js
  30. 7 0
      manage/static/js/chunk-18dda7de.4adb079a.js
  31. 7 0
      manage/static/js/chunk-1fa9bf9e.75905254.js
  32. 0 7
      manage/static/js/chunk-31476172.a128aeb7.js
  33. 2 2
      manage/static/js/chunk-34cc96a6.2432b117.js
  34. 0 7
      manage/static/js/chunk-3deb75f6.e6f32017.js
  35. 0 7
      manage/static/js/chunk-459c9879.27e8e47c.js
  36. 7 0
      manage/static/js/chunk-4ac88b52.41492cb7.js
  37. 0 7
      manage/static/js/chunk-53ea833a.cf6210ef.js
  38. 7 0
      manage/static/js/chunk-53f1eafc.0e3bf569.js
  39. 7 0
      manage/static/js/chunk-5529d741.223baefb.js
  40. 1 1
      manage/static/js/chunk-5a3493ef.c788e996.js
  41. 1 1
      manage/static/js/chunk-5b685476.b75a5e67.js
  42. 0 7
      manage/static/js/chunk-63d40358.7cd1d340.js
  43. 1 1
      manage/static/js/chunk-6b208424.c7ef6191.js
  44. 1 1
      manage/static/js/chunk-7cbc41e5.8bdb006c.js
  45. 0 7
      manage/static/js/chunk-9f977eea.beb66505.js
  46. 7 0
      manage/static/js/chunk-a81e4b78.e158bd78.js
  47. 7 0
      manage/static/js/chunk-c0c44a18.e564b99d.js
  48. 0 7
      manage/static/js/chunk-c3c0a24a.d3d863e7.js
  49. 7 0
      manage/static/js/chunk-cbad8fa8.6316797f.js
  50. 7 0
      manage/static/js/chunk-cfbf8292.f2c1a6cc.js
  51. 1 1
      manage/static/js/element-ui.cfb27695.js
  52. 1 1
      manage/static/js/vab-chunk-024ddcda.9ff5c737.js
  53. 1 1
      manage/static/js/vab-chunk-47eec42d.2ad3f2d5.js
  54. 1 1
      manage/static/js/vab-chunk-d939e436.afa00d83.js
  55. 1 1
      manage/static/js/vab-layouts.7b155346.js
  56. 27 0
      src/api/square.js
  57. 18 0
      src/router/index.js
  58. 0 5
      src/views/ceshi/ceshi/index.vue
  59. 0 5
      src/views/ceshi/ceshi/shishi.vue
  60. 150 0
      src/views/square/components/TableEdit.vue
  61. 228 0
      src/views/square/index.vue

+ 1 - 1
.env.development

@@ -1 +1 @@
-VUE_APP_API=http://192.168.1.104:7020
+VUE_APP_API=http://10.81.3.155:7020

+ 1 - 1
manage/index.html

@@ -9,4 +9,4 @@
           var s = document.getElementsByTagName('script')[0]
           s.parentNode.insertBefore(hm, s)
         })()
-      }</script><script src="static/js/vab-layouts.7b155346.js"></script><script src="static/js/element-ui.cfb27695.js"></script><script src="static/js/app.844ffbc4.js"></script></body></html>
+      }</script><script src="static/js/vab-layouts.7b155346.js"></script><script src="static/js/element-ui.cfb27695.js"></script><script src="static/js/app.e76e5126.js"></script></body></html>

Різницю між файлами не показано, бо вона завелика
+ 1 - 1
manage/static/css/app.c66a46be.css


Різницю між файлами не показано, бо вона завелика
+ 1 - 1
manage/static/css/chunk-0e7276a4.97f549c4.css


+ 0 - 6
manage/static/css/chunk-179842ca.850b0139.css

@@ -1,6 +0,0 @@
-/*!
- *  build: vue-admin-better 
- *  vue-admin-beautiful.com 
- *  https://gitee.com/chu1204505056/vue-admin-better 
- *  time: 2022-10-9 09:00:18
- */.input-file{display:none}.inputs[data-v-3e9c3492]{width:200px}.lists[data-v-3e9c3492],.title[data-v-124eea45]{justify-content:space-between}.left .left-item[data-v-124eea45],.left[data-v-124eea45],.lists[data-v-3e9c3492],.title[data-v-124eea45]{display:flex;flex-direction:row;align-items:center}.left .left-item[data-v-124eea45]{margin-right:10px}

+ 6 - 0
manage/static/css/chunk-18dda7de.f0703bf9.css

@@ -0,0 +1,6 @@
+/*!
+ *  build: vue-admin-better 
+ *  vue-admin-beautiful.com 
+ *  https://gitee.com/chu1204505056/vue-admin-better 
+ *  time: 2022-10-19 09:38:35
+ */.input-file{display:none}.inputs[data-v-04e79e68]{width:200px}.title[data-v-18d8f6fb]{justify-content:space-between;margin-bottom:20px}.left .left-item[data-v-18d8f6fb],.left[data-v-18d8f6fb],.title[data-v-18d8f6fb]{display:flex;flex-direction:row;align-items:center}.left .left-item[data-v-18d8f6fb]{margin-right:10px}

+ 2 - 2
manage/static/css/chunk-9f977eea.a05c48da.css

@@ -2,5 +2,5 @@
  *  build: vue-admin-better 
  *  vue-admin-beautiful.com 
  *  https://gitee.com/chu1204505056/vue-admin-better 
- *  time: 2022-10-9 09:00:18
- */.inputs[data-v-237db4f4]{width:200px}.cascaders[data-v-077f1030]{width:300px}
+ *  time: 2022-10-19 09:38:35
+ */.inputs[data-v-237db4f4]{width:200px}.cascaders[data-v-7aa9cfb2]{width:300px}

Різницю між файлами не показано, бо вона завелика
+ 0 - 7
manage/static/css/chunk-31476172.3afb8e42.css


+ 1 - 1
manage/static/css/chunk-34cc96a6.44804637.css

@@ -2,5 +2,5 @@
  *  build: vue-admin-better 
  *  vue-admin-beautiful.com 
  *  https://gitee.com/chu1204505056/vue-admin-better 
- *  time: 2022-10-9 09:00:18
+ *  time: 2022-10-19 09:38:35
  */.inputs[data-v-15869e09]{width:200px}.title[data-v-002f0084]{justify-content:space-between}.left .left-item[data-v-002f0084],.left[data-v-002f0084],.title[data-v-002f0084]{display:flex;flex-direction:row;align-items:center}.left .left-item[data-v-002f0084]{margin-right:10px}.cascaders[data-v-002f0084]{width:300px}

+ 0 - 6
manage/static/css/chunk-3deb75f6.efe0f3ef.css

@@ -1,6 +0,0 @@
-/*!
- *  build: vue-admin-better 
- *  vue-admin-beautiful.com 
- *  https://gitee.com/chu1204505056/vue-admin-better 
- *  time: 2022-10-9 09:00:18
- */.input-file{display:none}.inputs[data-v-5b7bc336]{width:200px}.lists[data-v-5b7bc336],.title[data-v-50a60e65]{justify-content:space-between}.left .left-item[data-v-50a60e65],.left[data-v-50a60e65],.lists[data-v-5b7bc336],.title[data-v-50a60e65]{display:flex;flex-direction:row;align-items:center}.left .left-item[data-v-50a60e65]{margin-right:10px}

+ 6 - 0
manage/static/css/chunk-4ac88b52.40b3f944.css

@@ -0,0 +1,6 @@
+/*!
+ *  build: vue-admin-better 
+ *  vue-admin-beautiful.com 
+ *  https://gitee.com/chu1204505056/vue-admin-better 
+ *  time: 2022-10-19 09:38:35
+ */.input-file{display:none}.inputs[data-v-af6b4c98]{width:200px}.lists[data-v-af6b4c98],.title[data-v-36ae840d]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.title[data-v-36ae840d]{margin-bottom:20px}.left .left-item[data-v-36ae840d],.left[data-v-36ae840d]{display:flex;flex-direction:row;align-items:center}.left .left-item[data-v-36ae840d]{margin-right:10px}

+ 0 - 6
manage/static/css/chunk-53ea833a.a9821aba.css

@@ -1,6 +0,0 @@
-/*!
- *  build: vue-admin-better 
- *  vue-admin-beautiful.com 
- *  https://gitee.com/chu1204505056/vue-admin-better 
- *  time: 2022-10-9 09:00:18
- */.input-file{display:none}.inputs[data-v-765d502a]{width:200px}.title[data-v-79c85f6c]{justify-content:space-between}.left .left-item[data-v-79c85f6c],.left[data-v-79c85f6c],.title[data-v-79c85f6c]{display:flex;flex-direction:row;align-items:center}.left .left-item[data-v-79c85f6c]{margin-right:10px}

+ 6 - 0
manage/static/css/chunk-53f1eafc.6112a018.css

@@ -0,0 +1,6 @@
+/*!
+ *  build: vue-admin-better 
+ *  vue-admin-beautiful.com 
+ *  https://gitee.com/chu1204505056/vue-admin-better 
+ *  time: 2022-10-19 09:38:35
+ */.input-file{display:none}.inputs[data-v-713ca668]{width:200px}.lists[data-v-713ca668],.title[data-v-26051ab5]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.title[data-v-26051ab5]{margin-bottom:20px}.left .left-item[data-v-26051ab5],.left[data-v-26051ab5]{display:flex;flex-direction:row;align-items:center}.left .left-item[data-v-26051ab5]{margin-right:10px}

+ 6 - 0
manage/static/css/chunk-5529d741.1f831f23.css

@@ -0,0 +1,6 @@
+/*!
+ *  build: vue-admin-better 
+ *  vue-admin-beautiful.com 
+ *  https://gitee.com/chu1204505056/vue-admin-better 
+ *  time: 2022-10-19 09:38:35
+ */.input-file{display:none}.inputs[data-v-34841345]{width:200px}.lists[data-v-34841345],.title[data-v-0c763eed]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.title[data-v-0c763eed]{margin-bottom:20px}.left .left-item[data-v-0c763eed],.left[data-v-0c763eed]{display:flex;flex-direction:row;align-items:center}.left .left-item[data-v-0c763eed]{margin-right:10px}

Різницю між файлами не показано, бо вона завелика
+ 1 - 1
manage/static/css/chunk-5a3493ef.601fad95.css


Різницю між файлами не показано, бо вона завелика
+ 1 - 1
manage/static/css/chunk-5b685476.6edec273.css


+ 0 - 6
manage/static/css/chunk-63d40358.0fb94869.css

@@ -1,6 +0,0 @@
-/*!
- *  build: vue-admin-better 
- *  vue-admin-beautiful.com 
- *  https://gitee.com/chu1204505056/vue-admin-better 
- *  time: 2022-10-9 09:00:18
- */.input-file{display:none}.inputs[data-v-5ed22276]{width:200px}.lists[data-v-5ed22276],.title[data-v-0e9fe9de]{justify-content:space-between}.left .left-item[data-v-0e9fe9de],.left[data-v-0e9fe9de],.lists[data-v-5ed22276],.title[data-v-0e9fe9de]{display:flex;flex-direction:row;align-items:center}.left .left-item[data-v-0e9fe9de]{margin-right:10px}

Різницю між файлами не показано, бо вона завелика
+ 1 - 1
manage/static/css/chunk-6b208424.3f1439af.css


Різницю між файлами не показано, бо вона завелика
+ 1 - 1
manage/static/css/chunk-7cbc41e5.8ba8f05b.css


Різницю між файлами не показано, бо вона завелика
+ 7 - 0
manage/static/css/chunk-a81e4b78.2457d9c0.css


+ 6 - 0
manage/static/css/chunk-c0c44a18.c40df83f.css

@@ -0,0 +1,6 @@
+/*!
+ *  build: vue-admin-better 
+ *  vue-admin-beautiful.com 
+ *  https://gitee.com/chu1204505056/vue-admin-better 
+ *  time: 2022-10-19 09:38:35
+ */.inputs[data-v-da767c7a]{width:200px}a[data-v-e5534eb0]{float:right}.inputs[data-v-70320506]{width:200px}a[data-v-88bd6df4]{float:right}.inputs[data-v-3ba6a510]{width:200px}a[data-v-7a371e0c]{float:right}

+ 0 - 6
manage/static/css/chunk-c3c0a24a.93194c77.css

@@ -1,6 +0,0 @@
-/*!
- *  build: vue-admin-better 
- *  vue-admin-beautiful.com 
- *  https://gitee.com/chu1204505056/vue-admin-better 
- *  time: 2022-10-9 09:00:18
- */.input-file{display:none}.inputs[data-v-71fa1f50]{width:200px}.lists[data-v-71fa1f50],.title[data-v-02c46410]{justify-content:space-between}.left .left-item[data-v-02c46410],.left[data-v-02c46410],.lists[data-v-71fa1f50],.title[data-v-02c46410]{display:flex;flex-direction:row;align-items:center}.left .left-item[data-v-02c46410]{margin-right:10px}

+ 2 - 2
manage/static/css/chunk-459c9879.e39c5fdd.css

@@ -2,5 +2,5 @@
  *  build: vue-admin-better 
  *  vue-admin-beautiful.com 
  *  https://gitee.com/chu1204505056/vue-admin-better 
- *  time: 2022-10-9 09:00:18
- */.input-file{display:none}.inputs[data-v-609f70e9]{width:200px}
+ *  time: 2022-10-19 09:38:35
+ */.input-file{display:none}.inputs[data-v-3567b4aa]{width:200px}

+ 6 - 0
manage/static/css/chunk-cfbf8292.12c21748.css

@@ -0,0 +1,6 @@
+/*!
+ *  build: vue-admin-better 
+ *  vue-admin-beautiful.com 
+ *  https://gitee.com/chu1204505056/vue-admin-better 
+ *  time: 2022-10-19 09:38:35
+ */.input-file{display:none}.inputs[data-v-5ed22276]{width:200px}.lists[data-v-5ed22276],.title[data-v-11f44cf3]{display:flex;flex-direction:row;align-items:center;justify-content:space-between}.title[data-v-11f44cf3]{margin-bottom:20px}.left .left-item[data-v-11f44cf3],.left[data-v-11f44cf3]{display:flex;flex-direction:row;align-items:center}.left .left-item[data-v-11f44cf3]{margin-right:10px}

Різницю між файлами не показано, бо вона завелика
+ 1 - 1
manage/static/css/element-ui.0e3a750b.css


Різницю між файлами не показано, бо вона завелика
+ 1 - 1
manage/static/css/vab-layouts.12c46285.css


Різницю між файлами не показано, бо вона завелика
+ 4 - 4
manage/static/js/app.844ffbc4.js


Різницю між файлами не показано, бо вона завелика
+ 1 - 1
manage/static/js/chunk-0e7276a4.870b8345.js


Різницю між файлами не показано, бо вона завелика
+ 0 - 7
manage/static/js/chunk-179842ca.8ae29131.js


Різницю між файлами не показано, бо вона завелика
+ 7 - 0
manage/static/js/chunk-18dda7de.4adb079a.js


Різницю між файлами не показано, бо вона завелика
+ 7 - 0
manage/static/js/chunk-1fa9bf9e.75905254.js


Різницю між файлами не показано, бо вона завелика
+ 0 - 7
manage/static/js/chunk-31476172.a128aeb7.js


Різницю між файлами не показано, бо вона завелика
+ 2 - 2
manage/static/js/chunk-34cc96a6.2432b117.js


Різницю між файлами не показано, бо вона завелика
+ 0 - 7
manage/static/js/chunk-3deb75f6.e6f32017.js


Різницю між файлами не показано, бо вона завелика
+ 0 - 7
manage/static/js/chunk-459c9879.27e8e47c.js


Різницю між файлами не показано, бо вона завелика
+ 7 - 0
manage/static/js/chunk-4ac88b52.41492cb7.js


Різницю між файлами не показано, бо вона завелика
+ 0 - 7
manage/static/js/chunk-53ea833a.cf6210ef.js


Різницю між файлами не показано, бо вона завелика
+ 7 - 0
manage/static/js/chunk-53f1eafc.0e3bf569.js


Різницю між файлами не показано, бо вона завелика
+ 7 - 0
manage/static/js/chunk-5529d741.223baefb.js


Різницю між файлами не показано, бо вона завелика
+ 1 - 1
manage/static/js/chunk-5a3493ef.c788e996.js


Різницю між файлами не показано, бо вона завелика
+ 1 - 1
manage/static/js/chunk-5b685476.b75a5e67.js


Різницю між файлами не показано, бо вона завелика
+ 0 - 7
manage/static/js/chunk-63d40358.7cd1d340.js


Різницю між файлами не показано, бо вона завелика
+ 1 - 1
manage/static/js/chunk-6b208424.c7ef6191.js


Різницю між файлами не показано, бо вона завелика
+ 1 - 1
manage/static/js/chunk-7cbc41e5.8bdb006c.js


Різницю між файлами не показано, бо вона завелика
+ 0 - 7
manage/static/js/chunk-9f977eea.beb66505.js


Різницю між файлами не показано, бо вона завелика
+ 7 - 0
manage/static/js/chunk-a81e4b78.e158bd78.js


Різницю між файлами не показано, бо вона завелика
+ 7 - 0
manage/static/js/chunk-c0c44a18.e564b99d.js


Різницю між файлами не показано, бо вона завелика
+ 0 - 7
manage/static/js/chunk-c3c0a24a.d3d863e7.js


Різницю між файлами не показано, бо вона завелика
+ 7 - 0
manage/static/js/chunk-cbad8fa8.6316797f.js


Різницю між файлами не показано, бо вона завелика
+ 7 - 0
manage/static/js/chunk-cfbf8292.f2c1a6cc.js


Різницю між файлами не показано, бо вона завелика
+ 1 - 1
manage/static/js/element-ui.cfb27695.js


Різницю між файлами не показано, бо вона завелика
+ 1 - 1
manage/static/js/vab-chunk-024ddcda.9ff5c737.js


Різницю між файлами не показано, бо вона завелика
+ 1 - 1
manage/static/js/vab-chunk-47eec42d.2ad3f2d5.js


Різницю між файлами не показано, бо вона завелика
+ 1 - 1
manage/static/js/vab-chunk-d939e436.afa00d83.js


Різницю між файлами не показано, бо вона завелика
+ 1 - 1
manage/static/js/vab-layouts.7b155346.js


+ 27 - 0
src/api/square.js

@@ -0,0 +1,27 @@
+import request from '@/utils/request'
+
+const square =(data)=>{
+  return request({ 
+      url:`/pro-basic-square/listByPage?id=${data.id}&name=${data.name}&pageNum=${data.pageNum}&pageSize=${data.pageSize}`,
+      method:"get"
+  })
+}
+const addSquare =(pairs)=>{
+  return request({
+      url:`/pro-basic-square/save`,
+      method:"post",
+      data: pairs
+  })
+}
+const deleteSquare =(data)=>{
+  return request({
+      url:`/pro-basic-square/remove-Squares/${data.id}`,
+      method:"delete",
+  })
+}
+
+export default {
+  square,
+  addSquare,
+  deleteSquare,
+};

+ 18 - 0
src/router/index.js

@@ -134,6 +134,24 @@ export const asyncRoutes = [
       },
     ],
   },
+
+  // {
+  //   path: "/square",
+  //   component: Layout,
+  //   redirect: "noRedirect",
+  //   children: [
+  //     {
+  //       path: "square",
+  //       name: "square",
+  //       component: () => import("@/views/square/index"),
+  //       meta: {
+  //         title: "方阵管理",
+  //         icon: "wave-square",
+  //         permissions: ["admin"],
+  //       },
+  //     },
+  //   ],
+  // },
   // {
   //   path: "/equipmentAllocation",
   //   component: Layout,

+ 0 - 5
src/views/ceshi/ceshi/index.vue

@@ -1,5 +0,0 @@
-<template>
-  <div>
-    111111111111
-  </div>
-</template>

+ 0 - 5
src/views/ceshi/ceshi/shishi.vue

@@ -1,5 +0,0 @@
-<template>
-  <div>
-    11111111111111
-  </div>
-</template>

+ 150 - 0
src/views/square/components/TableEdit.vue

@@ -0,0 +1,150 @@
+<template>
+  <el-dialog :title="title" :visible.sync="dialogFormVisible" width="800px" @close="close">
+    <el-form ref="form" :model="form" :rules="rules">
+      <div class="lists">
+        <el-form-item label="编号" prop="id">
+          <el-input class="inputs" v-model="form.id" autocomplete="off" :disabled="!idAdd?true:false"></el-input>
+        </el-form-item>
+        <el-form-item label="编码" prop="code">
+          <el-input class="inputs" v-model.trim="form.code" autocomplete="off"></el-input>
+        </el-form-item>
+      </div>
+      <div class="lists">
+        <el-form-item label="名称" prop="name">
+          <el-input class="inputs" v-model="form.name" autocomplete="off"></el-input>
+        </el-form-item>
+        <el-form-item label="风场编号" prop="windpowerstationId">
+          <el-select v-model="form.windpowerstationId" placeholder="请选择" clearable>
+            <el-option v-for="item in stationList" :key="item.id" :label="item.name" :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+      </div>
+      <div class="lists">
+        <el-form-item label="工程编号" prop="projectId">
+          <el-select v-model="form.projectId" placeholder="请选择" clearable>
+            <el-option v-for="item in stationList" :key="item.id" :label="item.name" :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="风电线编号" prop="lineId">
+          <el-select v-model="form.lineId" placeholder="请选择" clearable>
+            <el-option v-for="item in stationList" :key="item.id" :label="item.name" :value="item.id">
+            </el-option>
+          </el-select>
+        </el-form-item>
+      </div>
+      <div class="lists">
+        <el-form-item label="接入类型" prop="types">
+          <el-input class="inputs" v-model.trim="form.types" autocomplete="off"></el-input>
+        </el-form-item>
+      </div>
+    </el-form>
+    <div slot="footer" class="dialog-footer">
+      <el-button @click="close">取 消</el-button>
+      <el-button type="primary" @click="save">确 定</el-button>
+    </div>
+  </el-dialog>
+</template>
+
+<script>
+import api from '@/api/station'
+import dayjs from "dayjs";
+export default {
+  name: 'TableEdit',
+  props: {
+    options: {
+      type: Array,
+      default: []
+    },
+    stationList: {
+      type: Array,
+      // 报错
+      // default: []
+      default: function () {
+        return []
+      }
+    },
+  },
+  data() {
+    return {
+      form: {
+        id: '',
+        name: '',
+        code: '',
+      },
+      rules: {
+        id: [{ required: true, trigger: 'blur', message: '请输入' }],
+        name: [{ required: true, trigger: 'blur', message: '请输入' }],
+        code: [{ required: true, trigger: 'blur', message: '请输入' }],
+        aname: [{ required: true, trigger: 'blur', message: '请输入' }],
+        capacity: [{ required: true, trigger: 'blur', message: '请输入' }],
+        capacityunit: [{ required: true, trigger: 'blur', message: '请输入' }],
+        model: [{ required: true, trigger: 'blur', message: '请输入' }],
+        ordernum: [{ required: true, trigger: 'blur', message: '请输入' }],
+        quantity: [{ required: true, trigger: 'blur', message: '请输入' }],
+      },
+      title: '',
+      dialogFormVisible: false,
+      idAdd: true,
+    }
+  },
+  created() { },
+  methods: {
+    showEdit(row) {
+      if (!row) {
+        this.title = '添加'
+        this.idAdd = true
+      } else {
+        this.title = '编辑'
+        this.idAdd = false
+        this.form = Object.assign({}, row)
+      }
+      this.dialogFormVisible = true
+    },
+    close() {
+      this.$refs['form'].resetFields()
+      this.form = this.$options.data().form
+      this.dialogFormVisible = false
+      this.$emit('fetch-data')
+    },
+    save() {
+      this.$refs['form'].validate(async (valid) => {
+        if (valid) {
+          api.addLine(this.form).then(res => {
+            if (res.data) {
+              this.$message({
+                type: 'success',
+                message: '添加成功!'
+              });
+              this.$emit('save-success');
+              this.dialogFormVisible = false
+            }
+          })
+        } else {
+          return false
+        }
+      })
+    },
+    handleChange() {
+    },
+    onBlur(val, param) {
+      if (typeof (this.form[param]) !== 'number') {
+        this.form[param] = val.replace(/[^0-9]/ig, "")
+      }
+    },
+  },
+}
+</script>
+<style lang="less" scoped>
+.inputs {
+  width: 200px;
+}
+
+.lists {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: space-between;
+}
+</style>

+ 228 - 0
src/views/square/index.vue

@@ -0,0 +1,228 @@
+<template>
+  <div class="table-container">
+    <vab-query-form>
+      <div class="title">
+        <div class="left">
+          <div class="left-item">
+            <div style="width: 70px;">名称:</div>
+            <el-input v-model="fuzzyQuery" placeholder="请输入" clearable />
+          </div>
+          <el-button icon="el-icon-search" type="primary" native-type="submit" @click="fetchData">
+            查询
+          </el-button>
+        </div>
+        <div class="right">
+          <el-button icon="el-icon-plus" type="primary" @click="handleAdd">
+            添加
+          </el-button>
+          <el-button icon="el-icon-delete" type="danger" @click="handleDelete">
+            删除
+          </el-button>
+          <UploadExcel style="margin-left: 10px;" @getResult="getMyExcelData"></UploadExcel>
+          <ExportExcel :exportList="list" :useType="'export'" partsName="方阵"></ExportExcel>
+          <ExportExcel :exportList="templateExcel" :useType="'template'" partsName="方阵模板"></ExportExcel>
+        </div>
+      </div>
+      <el-table ref="tableSort" v-loading="listLoading" :data="list" :element-loading-text="elementLoadingText"
+        :height="height" @selection-change="setSelectRows">
+        <el-table-column show-overflow-tooltip type="selection" width="55"></el-table-column>
+        <el-table-column width="60" show-overflow-tooltip label="编号" prop="id" align="center" sortable>
+        </el-table-column>
+        <el-table-column width="100" show-overflow-tooltip label="编码" prop="code" align="center" sortable>
+        </el-table-column>
+        <el-table-column width="100" show-overflow-tooltip label="名称" prop="name" align="center" sortable fixed="left">
+        </el-table-column>
+        <el-table-column width="150" show-overflow-tooltip label="风场编号" prop="windpowerstationId" align="center"
+          sortable>
+        </el-table-column>
+        <el-table-column width="150" show-overflow-tooltip label="工程编号" prop="projectId" align="center" sortable>
+        </el-table-column>
+        <el-table-column width="150" show-overflow-tooltip label="风电线编号" prop="lineId" align="center" sortable>
+        </el-table-column>
+        <el-table-column width="150" show-overflow-tooltip label="接入类型" prop="types" align="center" sortable>
+        </el-table-column>
+        <el-table-column show-overflow-tooltip label="操作" width="180px" fixed="right">
+          <template #default="{ row }">
+            <el-button type="text" @click="handleEdit(row)">编辑</el-button>
+            <el-button type="text" @click="handleDelete(row)">删除</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination :background="background" :current-page="queryForm.pageNo" :layout="layout"
+        :page-size="queryForm.pageSize" :total="total" @current-change="handleCurrentChange"
+        @size-change="handleSizeChange"></el-pagination>
+      <table-edit ref="edit" :options="options" @save-success="fetchData"></table-edit>
+    </vab-query-form>
+  </div>
+</template>
+<script>
+import UploadExcel from '@/components/UploadExcel/index'
+import ExportExcel from '@/components/ExportExcel/index'
+import apis from '@/api/square'
+import api from '@/api/station'
+import TableEdit from './components/TableEdit'
+export default {
+  components: {
+    UploadExcel,
+    ExportExcel,
+    TableEdit,
+  },
+  data() {
+    return {
+      fuzzyQuery: '',
+      listLoading: true,
+      list: [],
+      options: [],
+      exportExcel: [],
+      templateExcel: [],
+      elementLoadingText: '正在加载...',
+      selectRows: '',
+      layout: 'total, sizes, prev, pager, next, jumper',
+      total: 0,
+      background: true,
+      exportList: [],
+      queryForm: {
+        pageNo: 1,
+        pageSize: 20,
+      },
+      stationList: [],
+      selectValue: ''
+    };
+  },
+  computed: {
+    height() {
+      return this.$baseTableHeight() + 50
+    },
+  },
+  created() {
+    this.getStation()
+    this.getStation()
+    this.getStation()
+    this.fetchData()
+  },
+  methods: {
+    getMyExcelData(val) {
+      val.forEach(item => {
+        api.addRegion(item).then(res => {
+          if (res.code == 200) {
+            this.$message({
+              type: 'success',
+              message: '添加成功!'
+            });
+            this.fetchData()
+          }
+        })
+      })
+    },
+    getStation() {
+      api.windpowerstationList({
+        id: '',
+        name: '',
+        pageNum: 1,
+        pageSize: 1000,
+      }).then(res => {
+        if (res.data) {
+          this.listLoading = false
+          this.stationList = res.data.records
+        }
+      })
+    },
+    fetchData() {
+      apis.square({
+        id: '',
+        name: this.fuzzyQuery,
+        pageNum: this.queryForm.pageNo,
+        pageSize: this.queryForm.pageSize,
+      }).then(res => {
+        if (res.data) {
+          this.listLoading = false
+          this.total = res.data.total
+          this.list = res.data.records
+          this.templateExcel = [
+            {
+              id: '',
+              companyid: '',
+              name: '',
+              aname: '',
+              windcapacity: '',
+              windcapacityunit: '',
+              windquantity: '',
+              capacity: '',
+              capacityunit: '',
+              quantityjz: '',
+              quantityzc: '',
+              jrwindcapacity: '',
+              jrwindcapacityunit: '',
+              jrwindquantity: '',
+              jrcapacity: '',
+              jrcapacityunit: '',
+              jrquantityjz: '',
+              jrquantityzc: '',
+            }
+          ]
+        }
+      })
+    },
+    handleSizeChange(val) {
+      this.queryForm.pageSize = val
+      this.fetchData()
+    },
+    handleCurrentChange(val) {
+      this.queryForm.pageNo = val
+      this.fetchData()
+    },
+    handleAdd() {
+      this.$refs['edit'].showEdit()
+    },
+    handleEdit(row) {
+      this.$refs['edit'].showEdit(row)
+    },
+    handleDelete(row) {
+      if (row.id || this.selectRows.length > 0) {
+        this.$baseConfirm('你确定要删除吗', null, async () => {
+          let ids = ''
+          if (this.selectRows.length > 0) {
+            ids = this.selectRows.map((item) => item.id).join()
+          }
+          api.deleteRegion({
+            id: row.id || ids
+          }).then(res => {
+            if (res.data) {
+              this.$baseMessage('删除成功', 'success')
+              this.fetchData()
+            }
+          })
+        })
+      } else {
+        this.$baseMessage('未选中任何行', 'error')
+        return false
+      }
+    },
+    setSelectRows(val) {
+      this.selectRows = val
+    },
+  },
+}
+</script>
+<style lang="less" scoped>
+.title {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+  justify-content: space-between;
+  margin-bottom: 20px;
+}
+
+.left {
+  display: flex;
+  flex-direction: row;
+  align-items: center;
+
+  .left-item {
+    display: flex;
+    flex-direction: row;
+    align-items: center;
+    margin-right: 10px;
+  }
+}
+</style>