浏览代码

全部修改

chenxinlei 2 年之前
父节点
当前提交
ac99346426
共有 33 个文件被更改,包括 2161 次插入940 次删除
  1. 106 0
      src/api/realtimeDatabaseConfiguration.js
  2. 3 1
      src/api/station.js
  3. 8 1
      src/api/table.js
  4. 33 1
      src/router/index.js
  5. 134 122
      src/views/index/components/TableEdit.vue
  6. 35 18
      src/views/index/index.vue
  7. 1 1
      src/views/realDatabaseConfig/components/TableEdit.vue
  8. 3 0
      src/views/realDatabaseConfig/index.vue
  9. 4 1
      src/views/stationConfiguration/area/index.vue
  10. 61 176
      src/views/stationConfiguration/company/components/TableEdit.vue
  11. 95 66
      src/views/stationConfiguration/company/index.vue
  12. 21 2
      src/views/stationConfiguration/equipmentmodel/components/TableEdit.vue
  13. 21 3
      src/views/stationConfiguration/equipmentmodel/index.vue
  14. 64 151
      src/views/stationConfiguration/group/components/TableEdit.vue
  15. 86 78
      src/views/stationConfiguration/group/index.vue
  16. 0 1
      src/views/stationConfiguration/line/components/TableEdit.vue
  17. 25 10
      src/views/stationConfiguration/line/index.vue
  18. 4 1
      src/views/stationConfiguration/manufacturer/index.vue
  19. 170 0
      src/views/stationConfiguration/meterPoint/components/TableEdit.vue
  20. 276 0
      src/views/stationConfiguration/meterPoint/index.vue
  21. 24 2
      src/views/stationConfiguration/modelpower/components/TableEdit.vue
  22. 33 4
      src/views/stationConfiguration/modelpower/index.vue
  23. 2 2
      src/views/stationConfiguration/period/index.vue
  24. 0 7
      src/views/stationConfiguration/projectstudy/components/TableEdit.vue
  25. 1 1
      src/views/stationConfiguration/projectstudy/index.vue
  26. 166 216
      src/views/stationConfiguration/station/components/TableEdit.vue
  27. 119 72
      src/views/stationConfiguration/station/index.vue
  28. 110 0
      src/views/stationConfiguration/statusDictionaries/components/TableEdit.vue
  29. 218 0
      src/views/stationConfiguration/statusDictionaries/index.vue
  30. 113 0
      src/views/stationConfiguration/stopType/components/TableEdit.vue
  31. 222 0
      src/views/stationConfiguration/stopType/index.vue
  32. 1 1
      src/views/stationConfiguration/windsubstation/index.vue
  33. 2 2
      src/views/stationConfiguration/windterbin/index.vue

+ 106 - 0
src/api/realtimeDatabaseConfiguration.js

@@ -315,7 +315,113 @@ const deleteDbconfig = (data) => {
     method: 'delete',
   })
 }
+// GET
+// /pro-basic-meter-point/listByPage
+// 电计量-列表
+// GET
+// /pro-basic-meter-point/meterpoint/{id}
+// 电计量-根据主键查询
+// DELETE
+// /pro-basic-meter-point/remove-meterpoint/{ids}
+// 电计量-删除
+// POST
+// /pro-basic-meter-point/save
+// 电计量-新增
+const meterListByPage = (data) => {
+  return request({
+    url: `/pro-basic-meter-point/listByPage?name=${data.name}&pageNum=${data.pageNum}&pageSize=${data.pageSize}`,
+    method: 'get',
+  })
+}
+const addMeter = (pairs) => {
+  return request({
+    url: `/pro-basic-meter-point/save`,
+    method: 'post',
+    data: pairs,
+  })
+}
+const deleteMeter = (data) => {
+  return request({
+    url: `/pro-basic-meter-point/remove-meterpoint/${data.id}`,
+    method: 'delete',
+  })
+}
+// DELETE
+// /pro-econ-status-dictionaries/{ids}
+// 设备状态配置-删除
+// POST
+// /pro-econ-status-dictionaries/add
+// 设备状态配置-新增or修改
+// GET
+// /pro-econ-status-dictionaries/list
+// 设备状态配置-列表
+const dictionariesList = (data) => {
+  return request({
+    url: `/pro-econ-status-dictionaries/list?name=${data.name}&pageNum=${data.pageNum}&pageSize=${data.pageSize}`,
+    method: 'get',
+  })
+}
+const addDictionaries = (pairs) => {
+  return request({
+    url: `/pro-econ-status-dictionaries/add`,
+    method: 'post',
+    data: pairs,
+  })
+}
+const deleteDictionaries = (data) => {
+  return request({
+    url: `/pro-econ-status-dictionaries/${data.id}`,
+    method: 'delete',
+  })
+}
+// DELETE
+// /pro-econ-stop-type/{ids}
+// 设备状态配置-删除
+// POST
+// /pro-econ-stop-type/add
+// 设备状态配置-新增or修改
+// GET
+// /pro-econ-stop-type/list
+// 设备状态配置-列表
+const stopTypeList = (data) => {
+  return request({
+    url: `/pro-econ-stop-type/list?name=${data.name}&pageNum=${data.pageNum}&pageSize=${data.pageSize}`,
+    method: 'get',
+  })
+}
+const addStopType = (pairs) => {
+  return request({
+    url: `/pro-econ-stop-type/add`,
+    method: 'post',
+    data: pairs,
+  })
+}
+const deleteStopType = (data) => {
+  return request({
+    url: `/pro-econ-stop-type/${data.id}`,
+    method: 'delete',
+  })
+}
+// GET
+// /sttree/mantreels
+// 设备厂商结构树-设备厂商层级树
+const sttreeMantreels = (data) => {
+  return request({
+    url: `sttree/mantreels?tag=${data}`,
+    method: 'get',
+  })
+}
 export default {
+  sttreeMantreels,
+  stopTypeList,
+  addStopType,
+  deleteStopType,
+  dictionariesList,
+  addDictionaries,
+  deleteDictionaries,
+  meterListByPage,
+  addMeter,
+  deleteMeter,
   dbconfigListByPage,
   addDbconfig,
   deleteDbconfig,

+ 3 - 1
src/api/station.js

@@ -42,7 +42,9 @@ const lines = (data) => {
   return request({
     url: `/pro-basic-line/listByPage?id=${data.id}&name=${encodeURIComponent(
       data.name
-    )}&pageNum=${data.pageNum}&pageSize=${data.pageSize}`,
+    )}&projectId=${data.projectId}&pageNum=${data.pageNum}&pageSize=${
+      data.pageSize
+    }`,
     method: 'get',
   })
 }

+ 8 - 1
src/api/table.js

@@ -68,7 +68,13 @@ const newtreeTreels = (data) => {
     method: 'get',
   })
 }
-
+// 区域组织结构树-集团层级树
+const regiontreels = (data) => {
+  return request({
+    url: `/sttree/regiontreels?tag=${data.tag}`,
+    method: 'get',
+  })
+}
 const treels = (data) => {
   return request({
     url: `/newtree/treels`,
@@ -76,6 +82,7 @@ const treels = (data) => {
   })
 }
 export default {
+  regiontreels,
   projectplan,
   addProjectplan,
   removeProjectplan,

+ 33 - 1
src/router/index.js

@@ -136,7 +136,8 @@ export const asyncRoutes = [
         name: 'modelpower',
         component: () =>
           import('@/views/stationConfiguration/modelpower/index'),
-        meta: { title: '设备类型' },
+        // meta: { title: '设备类型' },
+        meta: { title: '设备型号功率' },
       },
       {
         path: 'equipmentPoint',
@@ -146,6 +147,13 @@ export const asyncRoutes = [
         meta: { title: '设备测点' },
       },
       {
+        path: 'statusDictionaries',
+        name: 'statusDictionaries',
+        component: () =>
+          import('@/views/stationConfiguration/statusDictionaries/index'),
+        meta: { title: '设备状态' },
+      },
+      {
         path: 'windsubstation',
         name: 'windsubstation',
         component: () =>
@@ -186,6 +194,12 @@ export const asyncRoutes = [
           import('@/views/stationConfiguration/electricStation/index'),
         meta: { title: '电气测点' },
       },
+      {
+        path: 'stopType',
+        name: 'stopType',
+        component: () => import('@/views/stationConfiguration/stopType/index'),
+        meta: { title: '停机类型' },
+      },
       // {
       //   path: 'admlist',
       //   name: 'admlist',
@@ -246,6 +260,24 @@ export const asyncRoutes = [
       },
     ],
   },
+  {
+    path: '/meterPoint',
+    component: Layout,
+    redirect: 'noRedirect',
+    children: [
+      {
+        path: 'meterPoint',
+        name: 'meterPoint',
+        component: () =>
+          import('@/views/stationConfiguration/meterPoint/index'),
+        meta: {
+          title: '电计量点表配置',
+          icon: 'allergies',
+          permissions: ['admin'],
+        },
+      },
+    ],
+  },
 
   // {
   //   path: "/square",

+ 134 - 122
src/views/index/components/TableEdit.vue

@@ -1,136 +1,148 @@
 <template>
-  <el-dialog :title="title" :visible.sync="dialogFormVisible" width="800px" @close="close">
-    <el-form ref="form" :model="form" :rules="rules" label-width="120px">
-      <el-form-item label="场站" prop="cascaderSel" v-if="idAdd">
-        <el-cascader v-model="form.cascaderSel" :options="options" style="width: 240px"
-          :props="{ checkStrictly: true, label: 'name', value: 'id', children: 'children' }" clearable />
-      </el-form-item>
-      <el-form-item label="公司" prop="windpowerstationId" v-if="!idAdd">
-        <el-input class="inputs" v-model="chooseStation.name" disabled style="width: 240px"></el-input>
-      </el-form-item>
-      <el-form-item label="场站" prop="windpowerstationId" v-if="!idAdd">
-        <el-input class="inputs" v-model="chooseProject.name" disabled style="width: 240px"></el-input>
-      </el-form-item>
-      <!-- <el-form-item label="期次" prop="projectId" v-if="!idAdd">
-        <el-input class="inputs" v-model="form.projectId" disabled style="width: 240px"></el-input>
-      </el-form-item> -->
-      <el-form-item label="请选择日期" prop="dateValues">
-        <el-date-picker v-model="form.dateValues" type="month" placeholder="选择月" :disabled="!idAdd ? true : false"
-          style="width: 240px">
-        </el-date-picker>
-      </el-form-item>
-      <el-form-item label="计划发电量" prop="generatingCapacity">
-        <el-input class="inputs" v-model="form.generatingCapacity" style="width: 240px" placeholder="请输入"></el-input>
-      </el-form-item>
-      <el-form-item label="计划停运小时" prop="outageHours">
-        <el-input class="inputs" v-model="form.outageHours" style="width: 240px" placeholder="请输入"></el-input>
-      </el-form-item>
-
-    </el-form>
-    <div slot="footer" class="dialog-footer">
-      <el-button @click="close">取 消</el-button>
-      <el-button type="primary" @click="handleSave">确 定</el-button>
-    </div>
-  </el-dialog>
+	<el-dialog :title="title" :visible.sync="dialogFormVisible" width="800px" @close="close">
+		<el-form ref="form" :model="form" :rules="rules" label-width="150px">
+      <el-row>
+        <el-col :span="12">
+          <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-col>
+        <el-col :span="12">
+          <el-form-item label="工程编号" prop="projectId">
+            <el-input class="inputs" v-model="form.projectId" autocomplete="off"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="计划发电量" prop="generatingCapacity">
+            <el-input class="inputs" v-model="form.generatingCapacity" autocomplete="off"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="计划停运小时" prop="outageHours">
+            <el-input class="inputs" v-model="form.outageHours" autocomplete="off"></el-input>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="日期" prop="dateVal">
+            <el-date-picker key="100" style="width:200px" @input="changeDate" v-model="form.dateVal" type="month" placeholder="选择月"></el-date-picker>
+          </el-form-item>
+        </el-col>
+        <el-col :span="12">
+          <el-form-item label="场站编号冗余" prop="windpowerstationId">
+            <el-cascader v-model="form.windpowerstationId" :options="options" style="width: 200px" :props="{ checkStrictly: true, label: 'name', value: 'id', children: 'children' }" clearable />
+          </el-form-item>
+        </el-col>
+      </el-row>
+		</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/table'
+import dayjs from "dayjs";
 export default {
-  name: 'TableEdit',
-  props: {
-    options: {
-      type: Array,
-      default: []
-    },
-  },
-  data() {
-    return {
-      chooseStation: {},
-      chooseProject: {},
-      form: {
-        generatingCapacity: '',
-        outageHours: '',
-        cascaderSel: [],
-        dateValues: '',
-      },
-      rules: {
-        generatingCapacity: [{ required: true, trigger: 'blur', message: '请输入发电量' }],
-        outageHours: [{ required: true, trigger: 'blur', message: '请输入停运小时' }],
-        cascaderSel: [{ required: true, trigger: 'blur', message: '请选择场站' }],
-        dateValues: [{ required: true, trigger: 'blur', message: '请选择日期' }],
-      },
-      title: '',
-      dialogFormVisible: false,
-      idAdd: true,
-    }
-  },
-  created() { },
-  methods: {
-    showEdit(row) {
-      this.dialogFormVisible = true
-      if (!row) {
-        this.title = '添加'
-        this.idAdd = true
-      } else {
-        this.title = '编辑'
-        this.idAdd = false
-        this.form = Object.assign({}, row)
-        this.form.dateValues = this.form.year && this.form.month ? new Date(`${this.form.year}-${this.form.month}-01`).getTime() : ''
-        this.chooseStation = this.stationFind(this.options, this.form.windpowerstationId)
-        this.chooseProject = this.stationFind(this.options, this.form.projectId)
-      }
+	name: 'TableEdit',
+	props: {
+		options: {
+			type: Array,
+			default: []
+		},
+	},
+	data() {
+		return {
+			form: {
+				id: "",
+        projectId: "",
+        generatingCapacity: "",
+        outageHours: "",
+        year: "",
+        month: "",
+        windpowerstationId: "",
+        dateVal: ""
+			},
+			rules: {
+				id: [{ required: true, trigger: 'blur', message: '请输入' }],
+				projectId: [{ required: true, trigger: 'blur', message: '请输入' }],
+				generatingCapacity: [{ required: true, trigger: 'blur', message: '请输入' }],
+				outageHours: [{ required: true, trigger: 'blur', message: '请输入' }],
+				dateVal: [{ required: true, trigger: 'blur', message: '请输入' }],
+				windpowerstationId: [{ required: true, trigger: 'blur', message: '请输入' }],
+			},
+			title: '',
+			dialogFormVisible: false,
+			idAdd: true,
+		}
+	},
+	created() { },
+	methods: {
+    changeDate() {
+      this.$forceUpdate()
     },
-    close() {
-      this.$refs['form'].resetFields()
-      this.form = this.$options.data().form
-      this.dialogFormVisible = false
-      this.$emit('fetch-data')
-    },
-    handleSave() {
-      this.$refs['form'].validate(async (valid) => {
-        if (valid) {
-          this.form.year = new Date(this.form.dateValues).getFullYear()
-          this.form.month = new Date(this.form.dateValues).getMonth() + 1
-          if (!this.form.projectId) {
-            this.form.projectId = this.form.cascaderSel[2]
-          }
-          if (!this.form.windpowerstationId) {
-            this.form.windpowerstationId = this.form.cascaderSel[1]
+		showEdit(row) {
+			if (!row) {
+				this.title = '添加'
+				this.idAdd = true
+			} else {
+				this.title = '编辑'
+				this.idAdd = false
+				this.form = Object.assign({}, row)
+        this.form.dateVal = this.form.year && this.form.month ? new Date(`${this.form.year}-${this.form.month}-01`).getTime() : ''
+			}
+			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) {
+          this.form.year = new Date(this.form.dateVal).getFullYear()
+          this.form.month = new Date(this.form.dateVal).getMonth() + 1
+          console.log(this.windpowerstationId);
+          if(Array.isArray(this.form.windpowerstationId)){
+            this.form.windpowerstationId = this.form.windpowerstationId[this.form.windpowerstationId.length -1]
           }
-          api.addProjectplan(this.form).then(res => {
-            if (res.code == 200) {
-              this.$message({
-                type: 'success',
-                message: '添加成功!'
-              });
-              this.$emit('handleSuccess');
-              this.dialogFormVisible = false
-            }
-          })
-        } else {
-          return false
-        }
-      })
-    },
-    stationFind(data, id) {
-      let res = null
-      for (let i = 0; i < data.length; i++) {
-        if (data[i].id === id) {
-          res = data[i]
-          return data[i]
-        } else if (data[i].children && data[i].children.length > 0) {
-          res = this.stationFind(data[i].children, id)
-        }
-        if (res) break
-      }
-      return res
-    },
-  },
+					api.addProjectplan(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;
+	width: 200px;
+}
+
+.lists {
+	display: flex;
+	flex-direction: row;
+	align-items: center;
+	justify-content: space-between;
 }
 </style>

+ 35 - 18
src/views/index/index.vue

@@ -35,15 +35,12 @@
       :height="height" @selection-change="setSelectRows" @sort-change="tableSortChange" show-summary
       header-cell-class-name="table_header_style" border :summary-method="getSummaries">
       <el-table-column show-overflow-tooltip type="selection" width="55" align="center"></el-table-column>
-      <el-table-column show-overflow-tooltip label="风场编号" prop="windpowerstation" align="center" sortable>
-      </el-table-column>
-      <el-table-column show-overflow-tooltip label="工程编号" prop="project" align="center" sortable></el-table-column>
-      <el-table-column show-overflow-tooltip label="计划发电量" prop="generatingCapacity" align="center" sortable>
-      </el-table-column>
-      <el-table-column show-overflow-tooltip label="计划停运小时" prop="outageHours" align="center" sortable>
-      </el-table-column>
-      <el-table-column show-overflow-tooltip label="年份" prop="year" align="center" sortable></el-table-column>
-      <el-table-column show-overflow-tooltip label="月份" prop="month" align="center" sortable></el-table-column>
+      <el-table-column show-overflow-tooltip label="工程编号" prop="projectId" align="center" sortable></el-table-column>
+      <el-table-column show-overflow-tooltip label="计划发电量" prop="generatingCapacity" align="center" sortable></el-table-column>
+      <el-table-column show-overflow-tooltip label="计划停运小时" prop="outageHours" align="center" sortable></el-table-column>
+      <el-table-column show-overflow-tooltip label="年" prop="year" align="center" sortable></el-table-column>
+      <el-table-column show-overflow-tooltip label="月" prop="month" align="center" sortable></el-table-column>
+      <el-table-column :formatter="windpowerstationIdFormatter" show-overflow-tooltip label="场站编号冗余" prop="windpowerstationId" 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>
@@ -54,7 +51,7 @@
     <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" @handleSuccess="fetchData"></table-edit>
+    <table-edit ref="edit" :options="options" @handleSuccess="fetchData" @save-success="fetchData"></table-edit>
   </div>
 </template>
 
@@ -82,6 +79,7 @@ export default {
   },
   data() {
     return {
+      windpowerstationId: [],
       exportExcel: [],
       templateExcel: [],
       fuzzyQuery: [],
@@ -100,7 +98,8 @@ export default {
         pageSize: 20,
         title: '',
       },
-      options: []
+      options: [],
+      windpowerstationIdOptions: []
     }
   },
   computed: {
@@ -110,11 +109,17 @@ export default {
   },
   created() {
     this.getStation()
-
   },
   beforeDestroy() { },
   mounted() { },
   methods: {
+    windpowerstationIdFormatter(row){
+      for (const iterator of this.windpowerstationIdOptions) {
+        if(row.windpowerstationId == iterator.id){
+          return iterator.name
+        }
+      }
+    },
     getMyExcelData(val) {
 			val.forEach(item => {
 				api.addProjectplan(item).then(res => {
@@ -145,6 +150,18 @@ export default {
       api.newtreeTreels({ tag: 2 }).then(res => {
         if (res.data) {
           this.options = res.data
+          // windpowerstationIdOptions
+          res.data.forEach(item => {
+            if(item.children){
+              item.children.forEach(element => {
+                if(element.children){
+                  element.children.forEach(val => {
+                    this.windpowerstationIdOptions.push(val)
+                  });
+                }
+              });
+            }
+          });
           this.fetchData()
         }
       })
@@ -230,12 +247,12 @@ export default {
           }, 500)
           this.templateExcel = [
 						{
-							windpowerstation: "",
-              project: "",
-              generatingCapacity: "",
-              outageHours: "",
-              year: "",
-              month: "",
+							projectId:"",
+              generatingCapacity:"",
+              outageHours:"",
+              year:"",
+              month:"",
+              windpowerstationId:"",
 						}
 					]
 					// 导出

+ 1 - 1
src/views/realDatabaseConfig/components/TableEdit.vue

@@ -2,7 +2,7 @@
 	<el-dialog :title="title" :visible.sync="dialogFormVisible" width="800px" @close="close">
 		<el-form ref="form" :model="form" :rules="rules" label-width="120px">
        <el-row>
-        <el-col :span="12"><el-form-item label="服务姓" prop="surName"><el-input class="inputs" v-model="form.surName" autocomplete="off" :disabled="!idAdd?true:false"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="服务姓" prop="surName"><el-input class="inputs" v-model="form.surName" autocomplete="off"></el-input></el-form-item></el-col>
         <el-col :span="12"><el-form-item label="服务名历史" prop="nameHist"><el-input class="inputs" v-model="form.nameHist" autocomplete="off"></el-input></el-form-item></el-col>
         <el-col :span="12"><el-form-item label="服务名配置" prop="nameCmcfg"><el-input class="inputs" v-model="form.nameCmcfg" autocomplete="off"></el-input></el-form-item></el-col>
         <el-col :span="12"><el-form-item label="服务名实时" prop="nameRts"><el-input class="inputs" v-model="form.nameRts" autocomplete="off"></el-input></el-form-item></el-col>

+ 3 - 0
src/views/realDatabaseConfig/index.vue

@@ -26,6 +26,7 @@
 			<el-table header-cell-class-name="table_header_style" border ref="tableSort" v-loading="listLoading" :data="list"
 				:element-loading-text="elementLoadingText" :height="height" @selection-change="setSelectRows">
 				<el-table-column show-overflow-tooltip type="selection" align="center" width="40"></el-table-column>
+				<el-table-column show-overflow-tooltip label="编号" prop="id" align="center" sortable></el-table-column>
 				<el-table-column show-overflow-tooltip label="服务姓" prop="surName" align="center" sortable></el-table-column>
 				<el-table-column show-overflow-tooltip label="服务名历史" prop="nameHist" align="center" sortable></el-table-column>
 				<el-table-column show-overflow-tooltip label="服务名配置" prop="nameCmcfg" align="center" sortable></el-table-column>
@@ -139,6 +140,7 @@ export default {
 					this.list = res.data.records
 					this.templateExcel = [
 						{
+              id: '',
 							surName: '',
 							nameHist: '',
 							nameCmcfg: '',
@@ -157,6 +159,7 @@ export default {
 					let exportExcel = []
 					res.data.records.forEach(item => {
 						exportExcel.push({
+							id: item.id,
 							surName: item.surName,
 							nameHist: item.nameHist,
 							nameCmcfg: item.nameCmcfg,

+ 4 - 1
src/views/stationConfiguration/area/index.vue

@@ -32,7 +32,9 @@
       <el-table ref="tableSort" v-loading="listLoading" :data="list" :element-loading-text="elementLoadingText"
         header-cell-class-name="table_header_style" border :height="height" @selection-change="setSelectRows">
         <el-table-column show-overflow-tooltip type="selection" width="55" align="center"></el-table-column>
-        <el-table-column width="100" show-overflow-tooltip label="编码" prop="id" align="left" sortable fixed="left">
+        <el-table-column width="100" show-overflow-tooltip label="编号" prop="id" align="left" sortable fixed="left">
+        </el-table-column>
+        <el-table-column width="100" show-overflow-tooltip label="编码" prop="nemCode" align="left" sortable fixed="left">
         </el-table-column>
         <el-table-column width="100" show-overflow-tooltip label="名称" prop="name" align="left" sortable fixed="left">
         </el-table-column>
@@ -171,6 +173,7 @@ export default {
               companyid: '',
               name: '',
               aname: '',
+              nemCode:"",
               windCapacity: '',
               windCapacityUnit: '',
               windQuantityHs: '',

+ 61 - 176
src/views/stationConfiguration/company/components/TableEdit.vue

@@ -2,161 +2,42 @@
   <el-dialog :title="title" :visible.sync="dialogFormVisible" width="900px" @close="close" top="2%">
     <el-form ref="form" :model="form" :rules="rules" label-width="170px">
       <el-row>
-        <el-col :span="12">
-          <el-form-item :disabled="!idAdd ? true : false" label="编码" prop="id">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.id" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="公司名称" prop="name">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.name" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="公司名称" prop="cascaderSel" v-if="idAdd">
-            <el-cascader v-model="form.cascaderSel" :options="options" style="width: 240px"
-              :props="{ checkStrictly: true, label: 'name', value: 'id', children: 'children' }" clearable />
-          </el-form-item>
-        </el-col>
-
-        <el-col :span="12">
-          <el-form-item label="别名" prop="aname">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.aname" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="集团" prop="windpowerstationId" v-if="!idAdd">
-            <el-input class="inputs" v-model="form.group" disabled></el-input>
-          </el-form-item>
-        </el-col>
-
-        <el-col :span="12">
-          <el-form-item label="区域" prop="windpowerstationId" v-if="!idAdd">
-            <el-input class="inputs" v-model="form.region" disabled></el-input>
-          </el-form-item>
-        </el-col>
+        <el-col :span="12"><el-form-item label="编号" prop="id"><el-input placeholder="请输入" class="inputs" v-model.trim="form.id"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="编码" prop="nemCode"><el-input placeholder="请输入" class="inputs" v-model.trim="form.nemCode"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="名称" prop="name"><el-input placeholder="请输入" class="inputs" v-model.trim="form.name"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="别名" prop="aname"><el-input placeholder="请输入" class="inputs" v-model.trim="form.aname"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="顺序" prop="orderNum"><el-input placeholder="请输入" class="inputs" v-model.trim="form.orderNum"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="区域编号" prop="regionId"><el-input placeholder="请输入" class="inputs" v-model.trim="form.regionId"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="集团编号" prop="groupId"><el-input placeholder="请输入" class="inputs" v-model.trim="form.groupId"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="是否可用" prop="isAble"><el-input placeholder="请输入" class="inputs" v-model.trim="form.isAble"></el-input></el-form-item></el-col>
       </el-row>
       <!-- 风电 -->
       <el-divider><span>风电信息</span></el-divider>
       <el-row>
-        <el-col :span="12">
-          <el-form-item label="风电装机容量" prop="windCapacity">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.windCapacity" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="风电场站数量" prop="windNumber">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.windNumber" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="风电容量单位" prop="windCapacityUnit">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.windCapacityUnit" autocomplete="off">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <!-- <el-col :span="12">
-          <el-form-item label="风电装机数量" prop="windquantity">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.windquantity" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col> -->
-        <el-col :span="12">
-          <el-form-item label="风电装机数量海上" prop="windQuantityHs">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.windQuantityHs" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="风电装机数量陆地" prop="windQuantityLd">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.windQuantityLd" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入风电装机容量" prop="jrwindCapacity">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindCapacity" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入风电容量单位" prop="jrwindCapacityUnit">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindCapacityUnit" autocomplete="off">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <!-- <el-col :span="12">
-          <el-form-item label="接入风电装机数量" prop="jrwindquantity">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindquantity" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col> -->
-        <el-col :span="12">
-          <el-form-item label="接入风电装机数量海上" prop="jrwindQuantityHs">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindQuantityHs" autocomplete="off">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入风电装机数量陆地" prop="jrwindQuantityLd">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindQuantityLd" autocomplete="off">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入风电场站数" prop="jrWindNumber">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrWindNumber" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
+        <el-col :span="12"><el-form-item label="风电装机容量" prop="windCapacity"><el-input placeholder="请输入" class="inputs" v-model.trim="form.windCapacity"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="风电容量单位" prop="windCapacityUnit"><el-input placeholder="请输入" class="inputs" v-model.trim="form.windCapacityUnit"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="风电装机数量海上" prop="windQuantityHs"><el-input placeholder="请输入" class="inputs" v-model.trim="form.windQuantityHs"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="风电装机数量陆地" prop="windQuantityLd"><el-input placeholder="请输入" class="inputs" v-model.trim="form.windQuantityLd"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入风电装机容量" prop="jrwindCapacity"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindCapacity"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入风电容量单位" prop="jrwindCapacityUnit"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindCapacityUnit"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入风电装机数量海上" prop="jrwindQuantityHs"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindQuantityHs"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入风电装机数量陆地" prop="jrwindQuantityLd"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindQuantityLd"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="风电场站数量" prop="windNumber"><el-input placeholder="请输入" class="inputs" v-model.trim="form.windNumber"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入风电场站数量" prop="jrWindNumber"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrWindNumber"></el-input></el-form-item></el-col>
       </el-row>
       <!-- 光伏 -->
       <el-divider><span>光伏信息</span></el-divider>
       <el-row>
-        <el-col :span="12">
-          <el-form-item label="光伏容量单位" prop="capacityUnit">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.capacityUnit" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="光伏装机容量" prop="capacity">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.capacity" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="光伏装机数量集中" prop="quantityJz">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.quantityJz" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="光伏装机数量组串" prop="quantityZc">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.quantityZc" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入光伏装机容量" prop="jrCapacity">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrCapacity" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入光伏容量单位" prop="jrCapacityUnit">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrCapacityUnit" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入光伏装机数量集中" prop="jrquantityJz">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrquantityJz" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="光伏场站数量" prop="number">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.number" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入光伏场站数" prop="jrNumber">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrNumber" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入光伏装机数量组串" prop="jrquantityZc">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrquantityZc" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
+        <el-col :span="12"><el-form-item label="光伏装机容量" prop="capacity"><el-input placeholder="请输入" class="inputs" v-model.trim="form.capacity"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="光伏容量单位" prop="capacityUnit"><el-input placeholder="请输入" class="inputs" v-model.trim="form.capacityUnit"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="光伏装机数量集中" prop="quantityJz"><el-input placeholder="请输入" class="inputs" v-model.trim="form.quantityJz"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="光伏装机数量组串" prop="quantityZc"><el-input placeholder="请输入" class="inputs" v-model.trim="form.quantityZc"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入光伏装机容量" prop="jrCapacity"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrCapacity"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入光伏容量单位" prop="jrCapacityUnit"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrCapacityUnit"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入光伏装机数量集中" prop="jrquantityJz"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrquantityJz"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入光伏装机数量组串" prop="jrquantityZc"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrquantityZc"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="光伏场站数量" prop="number"><el-input placeholder="请输入" class="inputs" v-model.trim="form.number"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入光伏场站数量" prop="jrNumber"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrNumber"></el-input></el-form-item></el-col>
       </el-row>
     </el-form>
     <div slot="footer" class="dialog-footer">
@@ -180,41 +61,42 @@ export default {
   data() {
     return {
       form: {
-        cascaderSel: [],
-        id: '',
-        name: '',
-        aname: '',
-        windCapacity: '',
-        windCapacityUnit: '',
-        // windquantity: '',
-        windQuantityHs: '',
-        windQuantityLd: '',
-        capacity: '',
-        capacityUnit: '',
-        quantityJz: '',
-        quantityZc: '',
-        jrwindCapacity: '',
-        jrwindCapacityUnit: '',
-        // jrwindquantity: '',
-        jrwindQuantityHs: '',
-        jrwindQuantityLd: '',
-        jrCapacity: '',
-        jrCapacityUnit: '',
-        jrquantityJz: '',
-        jrquantityZc: '',
-        windNumber: '',
-        number: '',
-        jrWindNumber: '',
-        jrNumber: '',
+        id: "",
+        nemCode: "",
+        name: "",
+        aname: "",
+        windCapacity: "",
+        windCapacityUnit: "",
+        windQuantityHs: "",
+        windQuantityLd: "",
+        capacity: "",
+        capacityUnit: "",
+        quantityJz: "",
+        quantityZc: "",
+        jrwindCapacity: "",
+        jrwindCapacityUnit: "",
+        jrwindQuantityHs: "",
+        jrwindQuantityLd: "",
+        jrCapacity: "",
+        jrCapacityUnit: "",
+        jrquantityJz: "",
+        jrquantityZc: "",
+        orderNum: "",
+        windNumber: "",
+        number: "",
+        jrWindNumber: "",
+        jrNumber: "",
+        regionId: "",
+        groupId: "",
+        isAble: "",
       },
       rules: {
         id: [{ required: true, trigger: 'blur', message: '请输入' }],
+        nemCode: [{ required: true, trigger: 'blur', message: '请输入' }],
         name: [{ required: true, trigger: 'blur', message: '请输入' }],
         aname: [{ required: true, trigger: 'blur', message: '请输入' }],
-        cascaderSel: [{ required: true, trigger: 'blur', message: '请选择场站' }],
         windCapacity: [{ required: true, trigger: 'blur', message: '请输入' }],
         windCapacityUnit: [{ required: true, trigger: 'blur', message: '请输入' }],
-        // windquantity: [{ required: true, trigger: 'blur', message: '请输入' }],
         windQuantityHs: [{ required: true, trigger: 'blur', message: '请输入' }],
         windQuantityLd: [{ required: true, trigger: 'blur', message: '请输入' }],
         capacity: [{ required: true, trigger: 'blur', message: '请输入' }],
@@ -223,17 +105,20 @@ export default {
         quantityZc: [{ required: true, trigger: 'blur', message: '请输入' }],
         jrwindCapacity: [{ required: true, trigger: 'blur', message: '请输入' }],
         jrwindCapacityUnit: [{ required: true, trigger: 'blur', message: '请输入' }],
-        // jrwindquantity: [{ required: true, trigger: 'blur', message: '请输入' }],
         jrwindQuantityHs: [{ required: true, trigger: 'blur', message: '请输入' }],
         jrwindQuantityLd: [{ required: true, trigger: 'blur', message: '请输入' }],
         jrCapacity: [{ required: true, trigger: 'blur', message: '请输入' }],
         jrCapacityUnit: [{ required: true, trigger: 'blur', message: '请输入' }],
         jrquantityJz: [{ required: true, trigger: 'blur', message: '请输入' }],
         jrquantityZc: [{ required: true, trigger: 'blur', message: '请输入' }],
+        orderNum: [{ required: true, trigger: 'blur', message: '请输入' }],
         windNumber: [{ required: true, trigger: 'blur', message: '请输入' }],
         number: [{ required: true, trigger: 'blur', message: '请输入' }],
         jrWindNumber: [{ required: true, trigger: 'blur', message: '请输入' }],
         jrNumber: [{ required: true, trigger: 'blur', message: '请输入' }],
+        regionId: [{ required: true, trigger: 'blur', message: '请输入' }],
+        groupId: [{ required: true, trigger: 'blur', message: '请输入' }],
+        isAble: [{ required: true, trigger: 'blur', message: '请输入' }],
       },
       title: '',
       dialogFormVisible: false,

+ 95 - 66
src/views/stationConfiguration/company/index.vue

@@ -31,65 +31,75 @@
         <ExportExcel :exportList="templateExcel" :useType="'template'" partsName="公司模板"></ExportExcel>
       </vab-query-form-right-panel>
     </vab-query-form>
+    <!-- 
+      	id	编号	VARCHAR2	50			编号
+        nemCode	编码	VARCHAR2	50	✓		编码
+        name	名称	VARCHAR2	50	✓		名称
+        aname	别名	VARCHAR2	50	✓		别名
+        windCapacity	风电装机容量	NUMBER	18,2	✓		风电装机容量
+        windCapacity_unit	风电容量单位	VARCHAR2	50	✓		风电容量单位
+        windQuantity_hs	风电装机数量海上	INTEGER		✓		风电装机数量海上
+        windQuantity_ld	风电装机数量陆地	INTEGER		✓		风电装机数量陆地
+        capacity	光伏装机容量	NUMBER	18,2	✓		光伏装机容量
+        capacityUnit	光伏容量单位	VARCHAR2	50	✓		光伏容量单位
+        quantityJz	光伏装机数量集中	INTEGER		✓		光伏装机数量集中
+        quantityZc	光伏装机数量组串	INTEGER		✓		光伏装机数量组串
+        jrwindCapacity	接入风电装机容量	NUMBER	18,2	✓		接入风电装机容量
+        jrwindCapacity_unit	接入风电容量单位	VARCHAR2	50	✓		接入风电容量单位
+        jrwindQuantity_hs	接入风电装机数量海上	INTEGER		✓		接入风电装机数量海上
+        jrwindQuantity_ld	接入风电装机数量陆地	INTEGER		✓		接入风电装机数量陆地
+        jrCapacity	接入光伏装机容量	NUMBER	18,2	✓		接入光伏装机容量
+        jrCapacity_unit	接入光伏容量单位	VARCHAR2	50	✓		接入光伏容量单位
+        jrquantityJz	接入光伏装机数量集中	INTEGER		✓		接入光伏装机数量集中
+        jrquantityZc	接入光伏装机数量组串	INTEGER		✓		接入光伏装机数量组串
+        orderNum	顺序	INTEGER		✓		顺序
+        windNumber	风电场站数量	INTEGER		✓		风电场站数量
+        number	光伏场站数量	INTEGER		✓		光伏场站数量
+        jrWindNumber	接入风电场站数量	INTEGER		✓		接入风电场站数量
+        jrNumber	接入光伏场站数量	INTEGER		✓		接入光伏场站数量
+        regionId	区域编号	VARCHAR2	50	✓		区域编号
+        groupId	集团编号	VARCHAR2	50	✓		集团编号
+        isAble	是否可用	INTEGER		✓		是否可用
+        spare1	备用1	VARCHAR2	50	✓		备用1
+        spare2	备用2	VARCHAR2	50	✓		备用2
+        spare3	备用3	VARCHAR2	50	✓		备用3
+        spare4	备用4	VARCHAR2	50	✓		备用4
+     -->
     <el-table ref="tableSort" v-loading="listLoading" :data="list" :element-loading-text="elementLoadingText"
       header-cell-class-name="table_header_style" border :height="height" @selection-change="setSelectRows">
       <el-table-column show-overflow-tooltip type="selection" width="55" align="center"></el-table-column>
-      <el-table-column show-overflow-tooltip label="编码" prop="id" align="center" sortable fixed="left">
-      </el-table-column>
-      <el-table-column width="120" show-overflow-tooltip label="公司名称" prop="name" align="left" sortable fixed="left">
-      </el-table-column>
-      <el-table-column width="120" show-overflow-tooltip label="别名" prop="aname" align="left" sortable>
-      </el-table-column>
-      <el-table-column width="120" show-overflow-tooltip label="集团" prop="group" align="left" sortable>
-      </el-table-column>
-      <el-table-column width="120" show-overflow-tooltip label="区域" prop="region" align="left" sortable>
-      </el-table-column>
-      <el-table-column width="130" show-overflow-tooltip label="风电装机容量" prop="windCapacity" align="center" sortable>
-      </el-table-column>
-      <el-table-column width="130" show-overflow-tooltip label="风电容量单位" prop="windCapacityUnit" align="center" sortable>
-      </el-table-column>
-      <!-- <el-table-column width="130" show-overflow-tooltip label="风电装机数量" prop="windquantity" align="center" sortable>
-      </el-table-column> -->
-      <el-table-column width="160" show-overflow-tooltip label="风电装机数量海上" prop="windQuantityHs" align="center" sortable>
-      </el-table-column>
-      <el-table-column width="160" show-overflow-tooltip label="风电装机数量陆地" prop="windQuantityLd" align="center" sortable>
-      </el-table-column>
-      <el-table-column width="150" show-overflow-tooltip label="风电场站数量" prop="windNumber" align="center" sortable>
-      </el-table-column>
-      <el-table-column width="150" show-overflow-tooltip label="接入风电场站数" prop="jrWindNumber" align="center" sortable>
-      </el-table-column>
-      <el-table-column width="150" show-overflow-tooltip label="光伏场站数量" prop="number" align="center" sortable>
-      </el-table-column>
-      <el-table-column width="130" show-overflow-tooltip label="光伏装机容量" prop="capacity" align="center" sortable>
-      </el-table-column>
-      <el-table-column width="130" show-overflow-tooltip label="光伏容量单位" prop="capacityUnit" align="center" sortable>
-      </el-table-column>
-      <el-table-column width="170" show-overflow-tooltip label="光伏装机数量集中" prop="quantityJz" align="center" sortable>
-      </el-table-column>
-      <el-table-column width="170" show-overflow-tooltip label="光伏装机数量组串" prop="quantityZc" align="center" sortable>
-      </el-table-column>
-      <el-table-column width="150" show-overflow-tooltip label="接入光伏场站数" prop="jrNumber" align="center" sortable>
-      </el-table-column>
-      <el-table-column width="170" show-overflow-tooltip label="接入风电装机容量" prop="jrwindCapacity" align="center" sortable>
-      </el-table-column>
-      <el-table-column width="170" show-overflow-tooltip label="接入风电容量单位" prop="jrwindCapacityUnit" align="center"
-        sortable></el-table-column>
-      <!-- <el-table-column width="170" show-overflow-tooltip label="接入风电装机数量" prop="jrwindquantity" align="center" sortable>
-      </el-table-column> -->
-      <el-table-column width="180" show-overflow-tooltip label="接入风电装机数量海上" prop="jrwindQuantityHs" align="center"
-        sortable>
-      </el-table-column>
-      <el-table-column width="180" show-overflow-tooltip label="接入风电装机数量陆地" prop="jrwindQuantityLd" align="center"
-        sortable>
-      </el-table-column>
-      <el-table-column width="170" show-overflow-tooltip label="接入光伏装机容量" prop="jrCapacity" align="center" sortable>
-      </el-table-column>
-      <el-table-column width="170" show-overflow-tooltip label="接入光伏容量单位" prop="jrCapacityUnit" align="center" sortable>
-      </el-table-column>
-      <el-table-column width="190" show-overflow-tooltip label="接入光伏装机数量集中" prop="jrquantityJz" align="center" sortable>
-      </el-table-column>
-      <el-table-column width="190" show-overflow-tooltip label="接入光伏装机数量组串" prop="jrquantityZc" align="center" sortable>
-      </el-table-column>
+      <el-table-column show-overflow-tooltip label="编号" prop="id" align="center" sortable></el-table-column>
+      <el-table-column show-overflow-tooltip label="编码" prop="nemCode" align="center" sortable></el-table-column>
+      <el-table-column show-overflow-tooltip label="名称" prop="name" align="center" sortable></el-table-column>
+      <el-table-column show-overflow-tooltip label="别名" prop="aname" align="center" sortable></el-table-column>
+      <el-table-column show-overflow-tooltip label="顺序" prop="orderNum" align="center" sortable></el-table-column>
+      <el-table-column show-overflow-tooltip label="区域编号" prop="regionId" align="center" sortable></el-table-column>
+      <el-table-column show-overflow-tooltip label="集团编号" prop="groupId" align="center" sortable></el-table-column>
+      <el-table-column show-overflow-tooltip label="是否可用" prop="isAble" align="center" sortable></el-table-column>
+      <el-table-column show-overflow-tooltip label="风电装机容量" prop="windCapacity" align="center" sortable width="150"></el-table-column>
+      <el-table-column show-overflow-tooltip label="风电容量单位" prop="windCapacityUnit" align="center" sortable  width="150"></el-table-column>
+      <el-table-column show-overflow-tooltip label="风电装机数量海上" prop="windQuantityHs" align="center" sortable  width="150"></el-table-column>
+      <el-table-column show-overflow-tooltip label="风电装机数量陆地" prop="windQuantityLd" align="center" sortable  width="150"></el-table-column>
+      <el-table-column show-overflow-tooltip label="风电场站数量" prop="windNumber" align="center" sortable  width="150"></el-table-column>
+      <el-table-column show-overflow-tooltip label="接入风电装机容量" prop="jrwindCapacity" align="center" sortable  width="150"></el-table-column>
+      <el-table-column show-overflow-tooltip label="接入风电容量单位" prop="jrwindCapacityUnit" align="center" sortable  width="150"></el-table-column>
+      <el-table-column show-overflow-tooltip label="接入风电装机数量海上" prop="jrwindQuantityHs" align="center" sortable  width="170"></el-table-column>
+      <el-table-column show-overflow-tooltip label="接入风电装机数量陆地" prop="jrwindQuantityLd" align="center" sortable  width="170"></el-table-column>
+      <el-table-column show-overflow-tooltip label="光伏装机容量" prop="capacity" align="center" sortable  width="150"></el-table-column>
+      <el-table-column show-overflow-tooltip label="光伏容量单位" prop="capacityUnit" align="center" sortable  width="150"></el-table-column>
+      <el-table-column show-overflow-tooltip label="光伏装机数量集中" prop="quantityJz" align="center" sortable  width="150"></el-table-column>
+      <el-table-column show-overflow-tooltip label="光伏装机数量组串" prop="quantityZc" align="center" sortable  width="150"></el-table-column>
+      <el-table-column show-overflow-tooltip label="光伏场站数量" prop="number" align="center" sortable  width="150"></el-table-column>
+      <el-table-column show-overflow-tooltip label="接入光伏装机容量" prop="jrCapacity" align="center" sortable  width="150"></el-table-column>
+      <el-table-column show-overflow-tooltip label="接入光伏容量单位" prop="jrCapacityUnit" align="center" sortable  width="150"></el-table-column>
+      <el-table-column show-overflow-tooltip label="接入光伏装机数量集中" prop="jrquantityJz" align="center" sortable  width="170"></el-table-column>
+      <el-table-column show-overflow-tooltip label="接入光伏装机数量组串" prop="jrquantityZc" align="center" sortable  width="170"></el-table-column>
+      <el-table-column show-overflow-tooltip label="接入光伏场站数量" prop="jrNumber" align="center" sortable  width="150"></el-table-column>
+      <el-table-column show-overflow-tooltip label="接入风电场站数量" prop="jrWindNumber" align="center" sortable  width="150"></el-table-column>
+      <!-- <el-table-column show-overflow-tooltip label="备用1" prop="spare1" align="center" sortable></el-table-column>
+      <el-table-column show-overflow-tooltip label="备用2" prop="spare2" align="center" sortable></el-table-column>
+      <el-table-column show-overflow-tooltip label="备用3" prop="spare3" align="center" sortable></el-table-column>
+      <el-table-column show-overflow-tooltip label="备用4" prop="spare4" align="center" sortable></el-table-column> -->
       <el-table-column show-overflow-tooltip label="操作" width="100px" fixed="right">
         <template #default="{ row }">
           <el-button type="text" @click="handleEdit(row)">编辑</el-button>
@@ -117,6 +127,7 @@ export default {
   },
   data() {
     return {
+      regionIdOptions:[],
       fuzzyQuery: '',
       listLoading: true,
       list: [],
@@ -143,6 +154,13 @@ export default {
     },
   },
   methods: {
+    regionIdFormatter(row){
+      for (const key in this.regionIdOptions) {
+        if (row.regionId === key.nemCode) {
+          return 
+        }
+      }
+    },
     handleQuery() {
       this.queryForm.pageNo = 1
       this.fetchData()
@@ -154,6 +172,11 @@ export default {
           this.fetchData()
         }
       })
+      apis.regiontreels({ tag: 1 }).then(res => {
+        if (res.data) {
+          this.regionIdOptions = res.data
+        }
+      })
     },
     stationFind(data, id) {
       let res = null
@@ -196,44 +219,50 @@ export default {
           res.data.records.forEach(item => {
             // console.log(this.options, item.groupId);
             let obj = this.stationFind(this.options, item.groupId)
-            let val = this.stationFind(this.options, item.regionId)
+            // let val = this.stationFind(this.options, item.regionId)
             console.log(obj);
             item.group = obj?.name
-            item.region = val?.name
+            // item.region = val?.name
           })
           this.list = res.data.records
           this.templateExcel = [
             {
               id: "",
+              nemCode: "",
               name: "",
               aname: "",
               windCapacity: "",
               windCapacityUnit: "",
-              // windquantity: "",
               windQuantityHs: "",
               windQuantityLd: "",
-              windNumber: "",
-              jrWindNumber: "",
-              number: "",
               capacity: "",
               capacityUnit: "",
               quantityJz: "",
               quantityZc: "",
-              jrNumber: "",
               jrwindCapacity: "",
               jrwindCapacityUnit: "",
-              // jrwindquantity: "",
               jrwindQuantityHs: "",
               jrwindQuantityLd: "",
               jrCapacity: "",
               jrCapacityUnit: "",
               jrquantityJz: "",
-              jrquantityZc: ""
+              jrquantityZc: "",
+              orderNum: "",
+              windNumber: "",
+              number: "",
+              jrWindNumber: "",
+              jrNumber: "",
+              regionId: "",
+              groupId: "",
+              isAble: "",
+              // spare1: "",
+              // spare2: "",
+              // spare3: "",
+              // spare4: "",
             }
           ]
         }
       })
-
     },
     handleSizeChange(val) {
       this.queryForm.pageSize = val

+ 21 - 2
src/views/stationConfiguration/equipmentmodel/components/TableEdit.vue

@@ -21,8 +21,15 @@
         <el-form-item label="容量" prop="powerProduction">
           <el-input class="inputs" v-model.trim="form.powerProduction" autocomplete="off"></el-input>
         </el-form-item>
-        <el-form-item label="厂商编号" prop="windturbineManufacturerId">
-          <el-input class="inputs" v-model.trim="form.windturbineManufacturerId" autocomplete="off"></el-input>
+        <el-form-item label="厂商" prop="windturbineManufacturerId">
+          <!-- <el-input class="inputs" v-model.trim="form.windturbineManufacturerId" autocomplete="off"></el-input> -->
+          <el-select style="width:200px" v-model="form.windturbineManufacturerId" placeholder="请选择" clearable>
+            <el-option
+              v-for="item in windturbineManufacturerIdOptions"
+              :label="item.name"
+              :value="item.id">
+            </el-option>
+          </el-select>
         </el-form-item>
       </div>
       <div class="lists">
@@ -72,6 +79,7 @@
 </template>
 
 <script>
+import apis from '@/api/realtimeDatabaseConfiguration'
 import api from '@/api/station'
 import dayjs from "dayjs";
 export default {
@@ -126,11 +134,22 @@ export default {
       title: '',
       dialogFormVisible: false,
       idAdd: true,
+      windturbineManufacturerIdOptions: []
     }
   },
   created() { },
   methods: {
+    sttreeMantreels(){
+      apis.sttreeMantreels(1).then(res => {
+        if(res.data){
+          res.data.forEach( item=> {
+            this.windturbineManufacturerIdOptions.push(item)
+          });
+        }
+			})
+    },
     showEdit(row) {
+      this.sttreeMantreels()
       if (!row) {
         this.title = '添加'
         this.idAdd = true

+ 21 - 3
src/views/stationConfiguration/equipmentmodel/index.vue

@@ -26,13 +26,13 @@
 			<el-table header-cell-class-name="table_header_style" border ref="tableSort" v-loading="listLoading" :data="list"
 				:element-loading-text="elementLoadingText" :height="height" @selection-change="setSelectRows">
 				<el-table-column show-overflow-tooltip type="selection" align="center" width="40"></el-table-column>
-				<el-table-column show-overflow-tooltip label="id" prop="id" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="编号" prop="id" align="center" sortable></el-table-column>
 				<el-table-column show-overflow-tooltip label="编码" prop="nemCode" align="center" sortable></el-table-column>
 				<el-table-column show-overflow-tooltip label="名称" prop="name" align="center" sortable></el-table-column>
 				<el-table-column show-overflow-tooltip label="描述" prop="description" align="center" sortable></el-table-column>
 				<el-table-column show-overflow-tooltip label="容量" prop="powerProduction" align="center" sortable>
 				</el-table-column>
-				<el-table-column show-overflow-tooltip label="厂商编号" prop="windturbineManufacturerId" align="center" sortable>
+				<el-table-column :formatter="windturbineManufacturerIdFormatter" show-overflow-tooltip label="厂商名称" prop="windturbineManufacturerId" align="center" sortable>
 				</el-table-column>
 				<el-table-column show-overflow-tooltip label="图片" prop="photo" align="center" sortable>
 				</el-table-column>
@@ -65,6 +65,7 @@
 import UploadExcel from '@/components/UploadExcel/index'
 import ExportExcel from '@/components/ExportExcel/index'
 import api from '@/api/station'
+import apis from '@/api/realtimeDatabaseConfiguration'
 import TableEdit from './components/TableEdit'
 export default {
 	components: {
@@ -74,6 +75,7 @@ export default {
 	},
 	data() {
 		return {
+      windturbineManufacturerIdOptions: [],
       // 0:风机;1:集中;2:组串
       equipmentCategoryOptions: [
         {id: 0, name: "风机"},
@@ -106,10 +108,26 @@ export default {
 		},
 	},
 	created() {
-		// this.getStation()
+		this.sttreeMantreels()
 		this.fetchData()
 	},
 	methods: {
+    windturbineManufacturerIdFormatter(row){
+      for (const key of this.windturbineManufacturerIdOptions) {
+        if (key.id == row.windturbineManufacturerId) {
+          return key.name
+        }
+      }
+    },
+    sttreeMantreels(){
+      apis.sttreeMantreels(1).then(res => {
+        if(res.data){
+          res.data.forEach( item=> {
+            this.windturbineManufacturerIdOptions.push(item)
+          });
+        }
+			})
+    },
     equipmentCategoryFormatter(row, column, cellValue, index){
       let val = this.equipmentCategoryOptions.filter(item=>{
         return item.id === row.equipmentCategory

+ 64 - 151
src/views/stationConfiguration/group/components/TableEdit.vue

@@ -2,134 +2,41 @@
   <el-dialog :title="title" :visible.sync="dialogFormVisible" width="900px" @close="close" top="2%">
     <el-form ref="form" :model="form" :rules="rules" label-width="170px">
       <el-row>
-        <el-col :span="12">
-          <el-form-item :disabled="!idAdd ? true : false" label="编码" prop="id">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.id" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="名称" prop="name">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.name" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="别名" prop="aname">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.aname" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
+        <el-col :span="12"><el-form-item label="编号" prop="id"><el-input placeholder="请输入" class="inputs" v-model.trim="form.id"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="编码" prop="nemCode"><el-input placeholder="请输入" class="inputs" v-model.trim="form.nemCode"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="名称" prop="name"><el-input placeholder="请输入" class="inputs" v-model.trim="form.name"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="别名" prop="aname"><el-input placeholder="请输入" class="inputs" v-model.trim="form.aname"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="顺序" prop="orderNum"><el-input placeholder="请输入" class="inputs" v-model.trim="form.orderNum"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="父编号" prop="parentid"><el-input placeholder="请输入" class="inputs" v-model.trim="form.parentid"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="是否可用" prop="isAble"><el-input placeholder="请输入" class="inputs" v-model.trim="form.isAble"></el-input></el-form-item></el-col>
       </el-row>
       <!-- 风电 -->
       <el-divider><span>风电信息</span></el-divider>
       <el-row>
-        <el-col :span="12">
-          <el-form-item label="风电装机容量" prop="windCapacity">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.windCapacity" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="风电场站数量" prop="windNumber">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.windNumber" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="风电容量单位" prop="windCapacityUnit">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.windCapacityUnit" autocomplete="off">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="风电装机数量海上" prop="windQuantityHs">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.windQuantityHs" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="风电装机数量陆地" prop="windQuantityLd">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.windQuantityLd" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入风电装机容量" prop="jrwindCapacity">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindCapacity" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入风电容量单位" prop="jrwindCapacityUnit">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindCapacityUnit" autocomplete="off">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入风电装机数量海上" prop="jrwindQuantityHs">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindQuantityHs" autocomplete="off">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入风电装机数量陆地" prop="jrwindQuantityLd">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindQuantityLd" autocomplete="off">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入风电场站数" prop="jrWindNumber">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrWindNumber" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
+        <el-col :span="12"><el-form-item label="风电装机容量" prop="windCapacity"><el-input placeholder="请输入" class="inputs" v-model.trim="form.windCapacity"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="风电容量单位" prop="windCapacityUnit"><el-input placeholder="请输入" class="inputs" v-model.trim="form.windCapacityUnit"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="风电装机数量海上" prop="windQuantityHs"><el-input placeholder="请输入" class="inputs" v-model.trim="form.windQuantityHs"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="风电装机数量陆地" prop="windQuantityLd"><el-input placeholder="请输入" class="inputs" v-model.trim="form.windQuantityLd"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="风电场站数量" prop="windNumber"><el-input placeholder="请输入" class="inputs" v-model.trim="form.windNumber"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入风电装机容量" prop="jrwindCapacity"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindCapacity"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入风电容量单位" prop="jrwindCapacityUnit"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindCapacityUnit"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入风电装机数量海上" prop="jrwindQuantityHs"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindQuantityHs"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入风电装机数量陆地" prop="jrwindQuantityLd"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindQuantityLd"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入风电场站数量" prop="jrWindNumber"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrWindNumber"></el-input></el-form-item></el-col>
       </el-row>
       <!-- 光伏 -->
       <el-divider><span>光伏信息</span></el-divider>
       <el-row>
-        <el-col :span="12">
-          <el-form-item label="光伏装机容量" prop="capacity">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.capacity" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="光伏容量单位" prop="capacityUnit">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.capacityUnit" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-
-        <el-col :span="12">
-          <el-form-item label="光伏装机数量集中" prop="quantityJz">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.quantityJz" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="光伏装机数量组串" prop="quantityZc">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.quantityZc" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入光伏装机容量" prop="jrCapacity">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrCapacity" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入光伏容量单位" prop="jrCapacityUnit">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrCapacityUnit" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="光伏场站数量" prop="number">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.number" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入光伏场站数" prop="jrNumber">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrNumber" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入光伏装机数量集中" prop="jrquantityJz">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrquantityJz" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入光伏装机数量组串" prop="jrquantityZc">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrquantityZc" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
+        <el-col :span="12"><el-form-item label="光伏装机容量" prop="capacity"><el-input placeholder="请输入" class="inputs" v-model.trim="form.capacity"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="光伏容量单位" prop="capacityUnit"><el-input placeholder="请输入" class="inputs" v-model.trim="form.capacityUnit"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="光伏装机数量集中" prop="quantityJz"><el-input placeholder="请输入" class="inputs" v-model.trim="form.quantityJz"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="光伏装机数量组串" prop="quantityZc"><el-input placeholder="请输入" class="inputs" v-model.trim="form.quantityZc"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="光伏场站数量" prop="number"><el-input placeholder="请输入" class="inputs" v-model.trim="form.number"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入光伏装机容量" prop="jrCapacity"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrCapacity"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入光伏容量单位" prop="jrCapacityUnit"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrCapacityUnit"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入光伏装机数量集中" prop="jrquantityJz"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrquantityJz"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入光伏装机数量组串" prop="jrquantityZc"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrquantityZc"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入光伏场站数量" prop="jrNumber"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrNumber"></el-input></el-form-item></el-col>
       </el-row>
     </el-form>
     <div slot="footer" class="dialog-footer">
@@ -153,53 +60,59 @@ export default {
   data() {
     return {
       form: {
-        id: '',
-        name: '',
-        aname: '',
-        windCapacity: '',
-        windCapacityUnit: '',
-        windQuantityHs: '',
-        windQuantityLd: '',
-        capacity: '',
-        capacityUnit: '',
-        quantityJz: '',
-        quantityZc: '',
-        jrwindCapacity: '',
-        jrwindCapacityUnit: '',
-        jrwindQuantityHs: '',
-        jrwindQuantityLd: '',
-        jrCapacity: '',
-        jrCapacityUnit: '',
-        jrquantityJz: '',
-        jrquantityZc: '',
-        windNumber: '',
-        number: '',
-        jrWindNumber: '',
-        jrNumber: '',
+        id: "",
+        nemCode: "",
+        aname: "",
+        orderNum: "",
+        parentid: "",
+        isAble: "",
+        windCapacity: "",
+        windCapacityUnit: "",
+        windQuantityHs: "",
+        windQuantityLd: "",
+        windNumber: "",
+        jrwindCapacity: "",
+        jrwindCapacityUnit: "",
+        jrwindQuantityHs: "",
+        jrwindQuantityLd: "",
+        jrWindNumber: "",
+        capacity: "",
+        capacityUnit: "",
+        quantityJz: "",
+        quantityZc: "",
+        number: "",
+        jrCapacity: "",
+        jrCapacityUnit: "",
+        jrquantityJz: "",
+        jrquantityZc: "",
+        jrNumber: "",
       },
       rules: {
         id: [{ required: true, trigger: 'blur', message: '请输入' }],
-        name: [{ required: true, trigger: 'blur', message: '请输入' }],
+        nemCode: [{ required: true, trigger: 'blur', message: '请输入' }],
         aname: [{ required: true, trigger: 'blur', message: '请输入' }],
+        orderNum: [{ required: true, trigger: 'blur', message: '请输入' }],
+        parentid: [{ required: true, trigger: 'blur', message: '请输入' }],
+        isAble: [{ required: true, trigger: 'blur', message: '请输入' }],
         windCapacity: [{ required: true, trigger: 'blur', message: '请输入' }],
         windCapacityUnit: [{ required: true, trigger: 'blur', message: '请输入' }],
         windQuantityHs: [{ required: true, trigger: 'blur', message: '请输入' }],
         windQuantityLd: [{ required: true, trigger: 'blur', message: '请输入' }],
-        capacity: [{ required: true, trigger: 'blur', message: '请输入' }],
-        capacityUnit: [{ required: true, trigger: 'blur', message: '请输入' }],
-        quantityJz: [{ required: true, trigger: 'blur', message: '请输入' }],
-        quantityZc: [{ required: true, trigger: 'blur', message: '请输入' }],
+        windNumber: [{ required: true, trigger: 'blur', message: '请输入' }],
         jrwindCapacity: [{ required: true, trigger: 'blur', message: '请输入' }],
         jrwindCapacityUnit: [{ required: true, trigger: 'blur', message: '请输入' }],
         jrwindQuantityHs: [{ required: true, trigger: 'blur', message: '请输入' }],
         jrwindQuantityLd: [{ required: true, trigger: 'blur', message: '请输入' }],
+        jrWindNumber: [{ required: true, trigger: 'blur', message: '请输入' }],
+        capacity: [{ required: true, trigger: 'blur', message: '请输入' }],
+        capacityUnit: [{ required: true, trigger: 'blur', message: '请输入' }],
+        quantityJz: [{ required: true, trigger: 'blur', message: '请输入' }],
+        quantityZc: [{ required: true, trigger: 'blur', message: '请输入' }],
+        number: [{ required: true, trigger: 'blur', message: '请输入' }],
         jrCapacity: [{ required: true, trigger: 'blur', message: '请输入' }],
         jrCapacityUnit: [{ required: true, trigger: 'blur', message: '请输入' }],
         jrquantityJz: [{ required: true, trigger: 'blur', message: '请输入' }],
         jrquantityZc: [{ required: true, trigger: 'blur', message: '请输入' }],
-        windNumber: [{ required: true, trigger: 'blur', message: '请输入' }],
-        number: [{ required: true, trigger: 'blur', message: '请输入' }],
-        jrWindNumber: [{ required: true, trigger: 'blur', message: '请输入' }],
         jrNumber: [{ required: true, trigger: 'blur', message: '请输入' }],
       },
       title: '',

+ 86 - 78
src/views/stationConfiguration/group/index.vue

@@ -26,58 +26,33 @@
       <el-table ref="tableSort" v-loading="listLoading" :data="list" :element-loading-text="elementLoadingText"
         header-cell-class-name="table_header_style" border :height="height" @selection-change="setSelectRows">
         <el-table-column show-overflow-tooltip type="selection" width="55" align="center"></el-table-column>
-        <el-table-column width="100" show-overflow-tooltip label="编码" prop="id" align="left" sortable fixed="left">
-        </el-table-column>
-        <el-table-column width="100" show-overflow-tooltip label="名称" prop="name" align="left" sortable fixed="left">
-        </el-table-column>
-        <el-table-column width="150" show-overflow-tooltip label="别名" prop="aname" align="left" sortable>
-        </el-table-column>
-        <!-- <el-table-column width="150" show-overflow-tooltip label="父编号" prop="parentid" align="center" sortable>
-        </el-table-column> -->
-        <el-table-column width="150" show-overflow-tooltip label="风电装机容量" prop="windCapacity" align="center" sortable>
-        </el-table-column>
-        <el-table-column width="150" show-overflow-tooltip label="风电容量单位" prop="windCapacityUnit" align="center"
-          sortable></el-table-column>
-        <el-table-column width="160" show-overflow-tooltip label="风电装机数量海上" prop="windQuantityHs" align="center"
-          sortable>
-        </el-table-column>
-        <el-table-column width="160" show-overflow-tooltip label="风电装机数量陆地" prop="windQuantityLd" align="center"
-          sortable>
-        </el-table-column>
-        <el-table-column width="150" show-overflow-tooltip label="风电场站数量" prop="windNumber" align="center" sortable>
-        </el-table-column>
-        <el-table-column width="150" show-overflow-tooltip label="接入风电场站数" prop="jrWindNumber" align="center" sortable>
-        </el-table-column>
-        <el-table-column width="180" show-overflow-tooltip label="接入风电装机数量海上" prop="jrwindQuantityHs" align="center"
-          sortable>
-        </el-table-column>
-        <el-table-column width="180" show-overflow-tooltip label="接入风电装机数量陆地" prop="jrwindQuantityLd" align="center"
-          sortable>
-        </el-table-column>
-        <el-table-column width="170" show-overflow-tooltip label="接入风电装机容量" prop="jrwindCapacity" align="center"
-          sortable></el-table-column>
-        <el-table-column width="170" show-overflow-tooltip label="接入风电容量单位" prop="jrwindCapacityUnit" align="center"
-          sortable></el-table-column>
-        <el-table-column width="150" show-overflow-tooltip label="光伏场站数量" prop="number" align="center" sortable>
-        </el-table-column>
-        <el-table-column width="150" show-overflow-tooltip label="光伏装机容量" prop="capacity" align="center" sortable>
-        </el-table-column>
-        <el-table-column width="170" show-overflow-tooltip label="光伏容量单位" prop="capacityUnit" align="center" sortable>
-        </el-table-column>
-        <el-table-column width="170" show-overflow-tooltip label="光伏装机数量集中" prop="quantityJz" align="center" sortable>
-        </el-table-column>
-        <el-table-column width="170" show-overflow-tooltip label="光伏装机数量组串" prop="quantityZc" align="center" sortable>
-        </el-table-column>
-        <el-table-column width="150" show-overflow-tooltip label="接入光伏场站数" prop="jrNumber" align="center" sortable>
-        </el-table-column>
-        <el-table-column width="170" show-overflow-tooltip label="接入光伏装机容量" prop="jrCapacity" align="center" sortable>
-        </el-table-column>
-        <el-table-column width="170" show-overflow-tooltip label="接入光伏容量单位" prop="jrCapacityUnit" align="center"
-          sortable></el-table-column>
-        <el-table-column width="190" show-overflow-tooltip label="接入光伏装机数量集中" prop="jrquantityJz" align="center"
-          sortable></el-table-column>
-        <el-table-column width="190" show-overflow-tooltip label="接入光伏装机数量组串" prop="jrquantityZc" align="center"
-          sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="编号" prop="id" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="编码" prop="nemCode" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="名称" prop="name" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="别名" prop="aname" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="顺序" prop="orderNum" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="父编号" prop="parentid" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="是否可用" prop="isAble" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="风电装机容量" prop="windCapacity" align="center" sortable width="150"></el-table-column>
+        <el-table-column show-overflow-tooltip label="风电容量单位" prop="windCapacityUnit" align="center" sortable  width="150"></el-table-column>
+        <el-table-column show-overflow-tooltip label="风电装机数量海上" prop="windQuantityHs" align="center" sortable  width="150"></el-table-column>
+        <el-table-column show-overflow-tooltip label="风电装机数量陆地" prop="windQuantityLd" align="center" sortable  width="150"></el-table-column>
+        <el-table-column show-overflow-tooltip label="风电场站数量" prop="windNumber" align="center" sortable  width="150"></el-table-column>
+        <el-table-column show-overflow-tooltip label="接入风电装机容量" prop="jrwindCapacity" align="center" sortable  width="150"></el-table-column>
+        <el-table-column show-overflow-tooltip label="接入风电容量单位" prop="jrwindCapacityUnit" align="center" sortable  width="150"></el-table-column>
+        <el-table-column show-overflow-tooltip label="接入风电装机数量海上" prop="jrwindQuantityHs" align="center" sortable  width="170"></el-table-column>
+        <el-table-column show-overflow-tooltip label="接入风电装机数量陆地" prop="jrwindQuantityLd" align="center" sortable  width="170"></el-table-column>
+        <el-table-column show-overflow-tooltip label="光伏装机容量" prop="capacity" align="center" sortable  width="150"></el-table-column>
+        <el-table-column show-overflow-tooltip label="光伏容量单位" prop="capacityUnit" align="center" sortable  width="150"></el-table-column>
+        <el-table-column show-overflow-tooltip label="光伏装机数量集中" prop="quantityJz" align="center" sortable  width="150"></el-table-column>
+        <el-table-column show-overflow-tooltip label="光伏装机数量组串" prop="quantityZc" align="center" sortable  width="150"></el-table-column>
+        <el-table-column show-overflow-tooltip label="光伏场站数量" prop="number" align="center" sortable  width="150"></el-table-column>
+        <el-table-column show-overflow-tooltip label="接入光伏装机容量" prop="jrCapacity" align="center" sortable  width="150"></el-table-column>
+        <el-table-column show-overflow-tooltip label="接入光伏容量单位" prop="jrCapacityUnit" align="center" sortable  width="150"></el-table-column>
+        <el-table-column show-overflow-tooltip label="接入光伏装机数量集中" prop="jrquantityJz" align="center" sortable  width="170"></el-table-column>
+        <el-table-column show-overflow-tooltip label="接入光伏装机数量组串" prop="jrquantityZc" align="center" sortable  width="170"></el-table-column>
+        <el-table-column show-overflow-tooltip label="接入光伏场站数量" prop="jrNumber" align="center" sortable  width="150"></el-table-column>
+        <el-table-column show-overflow-tooltip label="接入风电场站数量" prop="jrWindNumber" align="center" sortable  width="150"></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>
@@ -160,34 +135,67 @@ export default {
         if (res.data) {
           this.listLoading = false
           this.total = res.data.total
-          this.list = res.data.records
+          // this.list = res.data.records
+          res.data.records.forEach(item => {
+            this.list.push({
+              id: item.id,
+              nemCode: item.nemCode,
+              name: item.name,
+              aname: item.aname,
+              orderNum: item.orderNum,
+              parentid: item.parentid,
+              isAble: item.isAble,
+              windCapacity: item.windCapacity,
+              windCapacityUnit: item.windCapacityUnit,
+              windQuantityHs: item.windQuantityHs,
+              windQuantityLd: item.windQuantityLd,
+              windNumber: item.windNumber,
+              jrwindCapacity: item.jrwindCapacity,
+              jrwindCapacityUnit: item.jrwindCapacityUnit,
+              jrwindQuantityHs: item.jrwindQuantityHs,
+              jrwindQuantityLd: item.jrwindQuantityLd,
+              capacity: item.capacity,
+              capacityUnit: item.capacityUnit,
+              quantityJz: item.quantityJz,
+              quantityZc: item.quantityZc,
+              number: item.number,
+              jrCapacity: item.jrCapacity,
+              jrCapacityUnit: item.jrCapacityUnit,
+              jrquantityJz: item.jrquantityJz,
+              jrquantityZc: item.jrquantityZc,
+              jrNumber: item.jrNumber,
+              jrWindNumber: item.jrWindNumber,
+            })
+          });
           this.templateExcel = [
             {
-              id: '',
-              companyid: '',
-              parentid: '',
-              name: '',
-              aname: '',
-              windCapacity: '',
-              windCapacityUnit: '',
-              number: '',
-              capacity: '',
-              capacityUnit: '',
-              quantityJz: '',
-              quantityZc: '',
-              windQuantityHs: '',
-              windQuantityLd: '',
-              windNumber: '',
-              jrWindNumber: '',
-              jrwindQuantityHs: '',
-              jrwindQuantityLd: '',
-              jrwindCapacity: '',
-              jrwindCapacityUnit: '',
-              jrcapacity: '',
-              jrCapacityUnit: '',
-              jrquantityJz: '',
-              jrquantityZc: '',
-              jrNumber: '',
+              id: "",
+              nemCode: "",
+              name: "",
+              aname: "",
+              orderNum: "",
+              parentid: "",
+              isAble: "",
+              windCapacity: "",
+              windCapacityUnit: "",
+              windQuantityHs: "",
+              windQuantityLd: "",
+              windNumber: "",
+              jrwindCapacity: "",
+              jrwindCapacityUnit: "",
+              jrwindQuantityHs: "",
+              jrwindQuantityLd: "",
+              capacity: "",
+              capacityUnit: "",
+              quantityJz: "",
+              quantityZc: "",
+              number: "",
+              jrCapacity: "",
+              jrCapacityUnit: "",
+              jrquantityJz: "",
+              jrquantityZc: "",
+              jrNumber: "",
+              jrWindNumber: "",
             }
           ]
         }

+ 0 - 1
src/views/stationConfiguration/line/components/TableEdit.vue

@@ -19,7 +19,6 @@
       </div>
       <div class="lists">
         <el-form-item label="期次" prop="projectId">
-          <!-- <el-input class="inputs" v-model.trim="form.projectId" autocomplete="off"></el-input> -->
           <el-cascader 
             v-model="form.projectId" 
             :options="options" 

+ 25 - 10
src/views/stationConfiguration/line/index.vue

@@ -3,13 +3,22 @@
     <vab-query-form>
       <div class="title">
         <div class="left">
-          <div class="left-item">
-            <div style="width: 100px;">线路名称:</div>
-            <el-input v-model="fuzzyQuery" placeholder="请输入" clearable />
-          </div>
-          <el-button icon="el-icon-search" type="primary" native-type="submit" @click="handleQuery">
-            查询
-          </el-button>
+          <el-form label-width="100px" :inline="true">
+            <el-form-item label="线路名称:" prop="id">
+              <el-input v-model="search.name" placeholder="请输入" clearable />
+            </el-form-item>
+            <el-form-item label="期次:" prop="id">
+              <el-cascader 
+                v-model="search.projectId" 
+                :options="options" 
+                style="width: 200px" 
+                :props="{ checkStrictly: true, label: 'name', value: 'id' , children:'children',}" 
+                clearable />
+            </el-form-item>
+            <el-form-item>
+              <el-button icon="el-icon-search" type="primary" native-type="submit" @click="handleQuery">查询</el-button>
+            </el-form-item>
+          </el-form>
         </div>
         <div class="right">
           <el-button icon="el-icon-plus" type="primary" @click="handleAdd">
@@ -28,8 +37,8 @@
         header-cell-class-name="table_header_style" border
         :height="height" @selection-change="setSelectRows">
         <el-table-column show-overflow-tooltip type="selection" width="55" align="center"></el-table-column>
-        <el-table-column show-overflow-tooltip label="编" prop="id" align="center" sortable></el-table-column>
-        <el-table-column show-overflow-tooltip label="编" prop="nemCode" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="编" prop="id" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="编" prop="nemCode" align="center" sortable></el-table-column>
         <el-table-column show-overflow-tooltip label="线路名称" prop="name" align="center" sortable></el-table-column>
         <el-table-column show-overflow-tooltip label="别称" prop="aname" align="center" sortable></el-table-column>
         <!-- :formatter="nameEcho"  -->
@@ -72,6 +81,10 @@ export default {
   },
   data() {
     return {
+      search: {
+        name:"",
+        projectId:"",
+      },
       deepTreeData: '',
       fuzzyQuery: '',
       listLoading: true,
@@ -100,6 +113,7 @@ export default {
   methods: {
     handleQuery() {
       this.queryForm.pageNo = 1
+      console.log( this.search.projectId , " this.search.projectId");
       this.fetchData()
     },
     nameEcho(row){
@@ -139,7 +153,8 @@ export default {
       this.listLoading = true
       api.lines({
         id: '',
-        name: this.fuzzyQuery,
+        name: this.search.name,
+        projectId: this.search.projectId[this.search.projectId.length - 1] || "",
         pageNum: this.queryForm.pageNo,
         pageSize: this.queryForm.pageSize,
       }).then(res => {

+ 4 - 1
src/views/stationConfiguration/manufacturer/index.vue

@@ -26,7 +26,8 @@
 			<el-table header-cell-class-name="table_header_style" border ref="tableSort" v-loading="listLoading" :data="list"
 				:element-loading-text="elementLoadingText" :height="height" @selection-change="setSelectRows">
 				<el-table-column show-overflow-tooltip type="selection" align="center" width="40"></el-table-column>
-				<el-table-column show-overflow-tooltip label="id" prop="id" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="编号" prop="id" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="编码" prop="nemCode" align="center" sortable></el-table-column>
 				<el-table-column show-overflow-tooltip label="名称" prop="name" align="center" sortable></el-table-column>
 				<el-table-column show-overflow-tooltip label="国家地区" prop="country" align="center" sortable></el-table-column>
 				<el-table-column show-overflow-tooltip label="地址" prop="address" align="center" sortable>
@@ -136,6 +137,7 @@ export default {
 						{
 							id: '',
 							name: '',
+              nemCode: "",
 							country: '',
 							address: '',
 							telephone: ''
@@ -147,6 +149,7 @@ export default {
 						exportExcel.push({
 							id: item.id,
 							name: item.name,
+              nemCode: item.nemCode,
 							country: item.country,
 							address: item.address,
 							telephone: item.telephone

+ 170 - 0
src/views/stationConfiguration/meterPoint/components/TableEdit.vue

@@ -0,0 +1,170 @@
+<template>
+	<el-dialog :title="title" :visible.sync="dialogFormVisible" width="800px" @close="close">
+		<el-form ref="form" :model="form" :rules="rules" label-width="150px">
+      <el-row>
+        <el-col :span="12"><el-form-item label="编码" prop="nemCode"><el-input class="inputs" v-model="form.nemCode" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="使用" prop="orderNum"><el-input class="inputs" v-model="form.orderNum" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="名称" prop="name"><el-input class="inputs" v-model="form.name" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="用到名称" prop="aname"><el-input class="inputs" v-model="form.aname" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="描述" prop="description"><el-input class="inputs" v-model="form.description" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="风场编号" prop="windpowerstationId"><el-input class="inputs" v-model="form.windpowerstationId" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="工程编号" prop="projectId"><el-input class="inputs" v-model="form.projectId" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="线路编号" prop="lineId"><el-input class="inputs" v-model="form.lineId" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="电表类型" prop="meterType"><el-input class="inputs" v-model="form.meterType" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="电表编码" prop="meterCode"><el-input class="inputs" v-model="form.meterCode" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="电表主备" prop="meterSort"><el-input class="inputs" v-model="form.meterSort" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="显示类型" prop="displayType"><el-input class="inputs" v-model="form.displayType" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="统一编码" prop="uniformCode"><el-input class="inputs" v-model="form.uniformCode" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="倍率" prop="magnification"><el-input class="inputs" v-model="form.magnification" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="短id" prop="shortId"><el-input class="inputs" v-model="form.shortId" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="长id" prop="longId"><el-input class="inputs" v-model="form.longId" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="实时配置编号" prop="realtimeId"><el-input class="inputs" v-model="form.realtimeId" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="线损倍率" prop="magnificationxs"><el-input class="inputs" v-model="form.magnificationxs" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="系数" prop="xs"><el-input class="inputs" v-model="form.xs" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="初始值" prop="initialValue"><el-input class="inputs" v-model="form.initialValue" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="是否可用" prop="isAble"><el-input class="inputs" v-model="form.isAble" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="集团测点编号" prop="groupPointId"><el-input class="inputs" v-model="form.groupPointId" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="具体名称" prop="specificName"><el-input class="inputs" v-model="form.specificName" autocomplete="off"></el-input></el-form-item></el-col>
+      </el-row>
+		</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/realtimeDatabaseConfiguration'
+import dayjs from "dayjs";
+export default {
+	name: 'TableEdit',
+	props: {
+		options: {
+			type: Array,
+			default: []
+		},
+		stationList: {
+			type: Array,
+			default: []
+		},
+	},
+	data() {
+		return {
+			form: {
+				nemCode: "",
+        orderNum: "",
+        name: "",
+        aname: "",
+        description: "",
+        windpowerstationId: "",
+        projectId: "",
+        lineId: "",
+        meterType: "",
+        meterCode: "",
+        meterSort: "",
+        displayType: "",
+        uniformCode: "",
+        magnification: "",
+        shortId: "",
+        longId: "",
+        realtimeId: "",
+        magnificationxs: "",
+        xs: "",
+        initialValue: "",
+        isAble: "",
+        groupPointId: "",
+        specificName: "",
+			},
+			rules: {
+				nemCode: [{ required: true, trigger: 'blur', message: '请输入' }],
+				orderNum: [{ required: true, trigger: 'blur', message: '请输入' }],
+				name: [{ required: true, trigger: 'blur', message: '请输入' }],
+				aname: [{ required: true, trigger: 'blur', message: '请输入' }],
+				description: [{ required: true, trigger: 'blur', message: '请输入' }],
+				windpowerstationId: [{ required: true, trigger: 'blur', message: '请输入' }],
+				projectId: [{ required: true, trigger: 'blur', message: '请输入' }],
+				lineId: [{ required: true, trigger: 'blur', message: '请输入' }],
+				meterType: [{ required: true, trigger: 'blur', message: '请输入' }],
+				meterCode: [{ required: true, trigger: 'blur', message: '请输入' }],
+				meterSort: [{ required: true, trigger: 'blur', message: '请输入' }],
+				displayType: [{ required: true, trigger: 'blur', message: '请输入' }],
+				uniformCode: [{ required: true, trigger: 'blur', message: '请输入' }],
+				magnification: [{ required: true, trigger: 'blur', message: '请输入' }],
+				shortId: [{ required: true, trigger: 'blur', message: '请输入' }],
+				longId: [{ required: true, trigger: 'blur', message: '请输入' }],
+				realtimeId: [{ required: true, trigger: 'blur', message: '请输入' }],
+				magnificationxs: [{ required: true, trigger: 'blur', message: '请输入' }],
+				xs: [{ required: true, trigger: 'blur', message: '请输入' }],
+				initialValue: [{ required: true, trigger: 'blur', message: '请输入' }],
+				isAble: [{ required: true, trigger: 'blur', message: '请输入' }],
+				groupPointId: [{ required: true, trigger: 'blur', message: '请输入' }],
+				specificName: [{ required: true, trigger: 'blur', message: '请输入' }],
+			},
+			title: '',
+			dialogFormVisible: false,
+			idAdd: true,
+		}
+	},
+	created() { },
+	methods: {
+    changeDate() {
+      this.$forceUpdate()
+    },
+		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.addMeter(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>

+ 276 - 0
src/views/stationConfiguration/meterPoint/index.vue

@@ -0,0 +1,276 @@
+<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_name" placeholder="请输入" clearable />
+					</div>
+					<el-button icon="el-icon-search" type="primary" native-type="submit" @click="searchFetchData">
+						查询
+					</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="exportExcel" :useType="'export'" partsName="电计量点表配置"></ExportExcel>
+					<ExportExcel :exportList="templateExcel" :useType="'template'" partsName="设电计量点表配置模板"></ExportExcel>
+				</div>
+			</div>
+			<el-table header-cell-class-name="table_header_style" border ref="tableSort" v-loading="listLoading" :data="list"
+				:element-loading-text="elementLoadingText" :height="height" @selection-change="setSelectRows">
+				<el-table-column show-overflow-tooltip type="selection" align="center" width="40"></el-table-column>
+				<el-table-column show-overflow-tooltip label="编号" prop="id" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="编码" prop="nemCode" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="使用" prop="orderNum" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="名称" prop="name" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="用到名称" prop="aname" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="描述" prop="description" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="风场编号" prop="windpowerstationId" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="工程编号" prop="projectId" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="线路编号" prop="lineId" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="电表类型" prop="meterType" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="电表编码" prop="meterCode" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="电表主备" prop="meterSort" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="显示类型" prop="displayType" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="统一编码" prop="uniformCode" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="倍率" prop="magnification" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="短id" prop="shortId" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="长id" prop="longId" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="实时配置编号" prop="realtimeId" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="线损倍率" prop="magnificationxs" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="系数" prop="xs" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="初始值" prop="initialValue" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="是否可用" prop="isAble" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="集团测点编号" prop="groupPointId" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="具体名称" prop="specificName" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="操作" width="100px" 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" :stationList="stationList" @save-success="fetchData"></table-edit>
+		</vab-query-form>
+	</div>
+</template>
+<script>
+import UploadExcel from '@/components/UploadExcel/index'
+import ExportExcel from '@/components/ExportExcel/index'
+import api from '@/api/realtimeDatabaseConfiguration'
+import stationApi from '@/api/station'
+import TableEdit from './components/TableEdit'
+export default {
+	components: {
+		UploadExcel,
+		ExportExcel,
+		TableEdit,
+	},
+	data() {
+		return {
+			fuzzyQuery_name: '',
+			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.fetchData()
+	},
+	methods: {
+		getMyExcelData(val) {
+			val.forEach(item => {
+				api.addMeter(item).then(res => {
+					if (res.code == 200) {
+						this.$message({
+							type: 'success',
+							message: '添加成功!'
+						});
+						this.fetchData()
+					}
+				})
+			})
+		},
+		getStation() {
+			stationApi.windpowerstationList({
+				id: '',
+				name: '',
+				companyid: '',
+				pageNum: 1,
+				pageSize: 1000,
+			}).then(res => {
+				if (res.data) {
+					this.listLoading = false
+					this.stationList = res.data.records
+				}
+			})
+		},
+    searchFetchData(){
+      this.queryForm.pageNo = 1
+      this.fetchData()
+    },
+		fetchData() {
+			api.meterListByPage({
+				name: this.fuzzyQuery_name,
+				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: "",
+				      nemCode: "",
+				      orderNum: "",
+				      name: "",
+				      aname: "",
+				      description: "",
+				      windpowerstationId: "",
+				      projectId: "",
+				      lineId: "",
+				      meterType: "",
+				      meterCode: "",
+				      meterSort: "",
+				      displayType: "",
+				      uniformCode: "",
+				      magnification: "",
+				      shortId: "",
+				      longId: "",
+				      realtimeId: "",
+				      magnificationxs: "",
+				      xs: "",
+				      initialValue: "",
+				      isAble: "",
+				      groupPointId: "",
+				      specificName: "",
+						}
+					]
+					// 导出
+					let exportExcel = []
+					res.data.records.forEach(item => {
+						exportExcel.push({
+							id: item.id,
+							nemCode: item.nemCode,
+							orderNum: item.orderNum,
+							name: item.name,
+							aname: item.aname,
+							description: item.description,
+							windpowerstationId: item.windpowerstationId,
+							projectId: item.projectId,
+							lineId: item.lineId,
+							meterType: item.meterType,
+							meterCode: item.meterCode,
+							meterSort: item.meterSort,
+							displayType: item.displayType,
+							uniformCode: item.uniformCode,
+							magnification: item.magnification,
+							shortId: item.shortId,
+							longId: item.longId,
+							realtimeId: item.realtimeId,
+							magnificationxs: item.magnificationxs,
+							xs: item.xs,
+							initialValue: item.initialValue,
+							isAble: item.isAble,
+							groupPointId: item.groupPointId,
+							specificName: item.specificName,
+						})
+					})
+					this.exportExcel = exportExcel
+				}
+			})
+		},
+		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.deleteMeter({
+						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>

+ 24 - 2
src/views/stationConfiguration/modelpower/components/TableEdit.vue

@@ -6,7 +6,14 @@
 					<el-input class="inputs" v-model="form.id" autocomplete="off" :disabled="!idAdd?true:false"></el-input>
 				</el-form-item>
 				<el-form-item label="型号编号" prop="modelId">
-					<el-input class="inputs" v-model.trim="form.modelId" autocomplete="off"></el-input>
+          <el-select style="width:200px" v-model="form.modelId" placeholder="请选择" clearable>
+            <el-option
+              v-for="item in modelIdOptions"
+              :key="item.id"
+              :label="item.name"
+              :value="item.id">
+            </el-option>
+          </el-select>
 				</el-form-item>
 			</div>
 			<div class="lists">
@@ -47,6 +54,7 @@ export default {
 	},
 	data() {
 		return {
+      modelIdOptions:[],
 			form: {
 				id: '',
 				modelId: '',
@@ -67,9 +75,23 @@ export default {
 			idAdd: true,
 		}
 	},
-	created() { },
+	created() {},
 	methods: {
+    sttreeMantreels(){
+      api.sttreeMantreels(2).then(res => {
+        if(res.data){
+          res.data.forEach( item=> {
+            if(item.children){
+              item.children.forEach(element => {
+                this.modelIdOptions.push(element)
+              });
+            }
+          });
+        }
+			})
+    },
 		showEdit(row) {
+      this.sttreeMantreels()
 			if (!row) {
 				this.title = '添加'
 				this.idAdd = true

+ 33 - 4
src/views/stationConfiguration/modelpower/index.vue

@@ -5,7 +5,15 @@
 				<div class="left">
 					<div class="left-item">
 						<div style="width: 70px;">型号:</div>
-						<el-input v-model="fuzzyQuery_name" placeholder="请输入" clearable />
+						<!-- <el-input v-model="fuzzyQuery_name" placeholder="请输入" clearable /> -->
+            <el-select style="width:200px" v-model="fuzzyQuery_name" placeholder="请选择" clearable>
+              <el-option
+                v-for="item in modelIdOptions"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id">
+              </el-option>
+            </el-select>
 					</div>
 					<el-button icon="el-icon-search" type="primary" native-type="submit" @click="searchFetchData">
 						查询
@@ -26,8 +34,8 @@
 			<el-table header-cell-class-name="table_header_style" border ref="tableSort" v-loading="listLoading" :data="list"
 				:element-loading-text="elementLoadingText" :height="height" @selection-change="setSelectRows">
 				<el-table-column show-overflow-tooltip type="selection" align="center" width="40"></el-table-column>
-				<el-table-column show-overflow-tooltip label="id" prop="id" align="center" sortable></el-table-column>
-				<el-table-column show-overflow-tooltip label="型号编号" prop="modelId" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="编号" prop="id" align="center" sortable></el-table-column>
+				<el-table-column :formatter="modelIdFormatter" show-overflow-tooltip label="型号名称" prop="modelId" align="center" sortable></el-table-column>
 				<el-table-column show-overflow-tooltip label="风速/光照度" prop="speed" align="center" sortable></el-table-column>
 				<el-table-column show-overflow-tooltip label="稳态功率相当于理论" prop="theoryPower" align="center" sortable>
 				</el-table-column>
@@ -61,6 +69,7 @@ export default {
 	},
 	data() {
 		return {
+      modelIdOptions:[],
 			fuzzyQuery_name: '',
 			listLoading: true,
 			list: [],
@@ -87,10 +96,30 @@ export default {
 		},
 	},
 	created() {
-		// this.getStation()
+		this.sttreeMantreels()
 		this.fetchData()
 	},
 	methods: {
+    modelIdFormatter(row){
+      for (const key of this.modelIdOptions) {
+        if (key.id == row.modelId) {
+          return key.name
+        }
+      }
+    },
+    sttreeMantreels(){
+      api.sttreeMantreels(2).then(res => {
+        if(res.data){
+          res.data.forEach( item=> {
+            if(item.children){
+              item.children.forEach(element => {
+                this.modelIdOptions.push(element)
+              });
+            }
+          });
+        }
+			})
+    },
 		getMyExcelData(val) {
 			val.forEach(item => {
 				api.addModelpower(item).then(res => {

+ 2 - 2
src/views/stationConfiguration/period/index.vue

@@ -35,8 +35,8 @@
       <el-table ref="tableSort" v-loading="listLoading" :data="list" :element-loading-text="elementLoadingText"
         header-cell-class-name="table_header_style" border :height="height" @selection-change="setSelectRows">
         <el-table-column show-overflow-tooltip type="selection" width="55" align="center"></el-table-column>
-        <el-table-column show-overflow-tooltip label="编" prop="id" align="center" sortable></el-table-column>
-        <el-table-column show-overflow-tooltip label="编" prop="nemCode" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="编" prop="id" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="编" prop="nemCode" align="center" sortable></el-table-column>
         <el-table-column width="120" show-overflow-tooltip label="工程名称" prop="name" align="left" sortable></el-table-column>
         <el-table-column show-overflow-tooltip label="别称" prop="aname" align="left" sortable></el-table-column>
         <el-table-column width="120" show-overflow-tooltip label="风场编号" prop="windpowerstationId" align="center" sortable></el-table-column>

+ 0 - 7
src/views/stationConfiguration/projectstudy/components/TableEdit.vue

@@ -1,13 +1,6 @@
 <template>
 	<el-dialog :title="title" :visible.sync="dialogFormVisible" width="800px" @close="close">
 		<el-form ref="form" :model="form" :rules="rules" label-width="150px">
-      <!-- id
-      projectId
-      generatingCapacity
-      outageHours
-      year
-      month
-      windpowerstationId -->
       <el-row>
         <el-col :span="12">
           <el-form-item label="编码" prop="id">

+ 1 - 1
src/views/stationConfiguration/projectstudy/index.vue

@@ -35,7 +35,7 @@
 			<el-table header-cell-class-name="table_header_style" border ref="tableSort" v-loading="listLoading" :data="list"
 				:element-loading-text="elementLoadingText" :height="height" @selection-change="setSelectRows">
 				<el-table-column show-overflow-tooltip type="selection" align="center" width="40"></el-table-column>
-				<el-table-column show-overflow-tooltip label="编" prop="id" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="编" prop="id" align="center" sortable></el-table-column>
 				<el-table-column show-overflow-tooltip label="工程编号" prop="projectId" align="center" sortable></el-table-column>
 				<el-table-column show-overflow-tooltip label="计划发电量" prop="generatingCapacity" align="center" sortable></el-table-column>
 				<el-table-column show-overflow-tooltip label="计划停运小时" prop="outageHours" align="center" sortable></el-table-column>

+ 166 - 216
src/views/stationConfiguration/station/components/TableEdit.vue

@@ -1,191 +1,95 @@
 <template>
   <el-dialog :title="title" :visible.sync="dialogFormVisible" width="900px" @close="close" top="2%">
     <el-form ref="form" :model="form" :rules="rules" label-width="170px">
-      <div class="title">
-        <div class="title-item">
-          <el-form-item :disabled="!idAdd ? true : false" label="编码" prop="id">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.id" autocomplete="off"></el-input>
-          </el-form-item>
-        </div>
-        <div class="title-item">
-          <el-form-item label="风场名称" prop="name">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.name" autocomplete="off"></el-input>
-          </el-form-item>
-        </div>
-        <div class="title-item" v-if="idAdd">
-          <el-form-item label="公司名称" prop="cascaderSel">
-            <el-cascader v-model="form.cascaderSel" :options="stationList" style="width: 240px"
-              :props="{ checkStrictly: true, label: 'name', value: 'id', children: 'children' }" clearable />
-          </el-form-item>
-        </div>
-        <div class="title-item">
-          <el-form-item label="别名" prop="aname">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.aname" autocomplete="off"></el-input>
-          </el-form-item>
-        </div>
-        <div class="title-item" v-if="!idAdd">
-          <el-form-item label="集团" prop="windpowerstationId">
-            <el-input class="inputs" v-model="form.group" disabled></el-input>
-          </el-form-item>
-        </div>
-        <div class="title-item" v-if="!idAdd">
-          <el-form-item label="区域" prop="windpowerstationId">
-            <el-input class="inputs" v-model="form.region" disabled></el-input>
-          </el-form-item>
-        </div>
-        <div class="title-item" v-if="!idAdd">
-          <el-form-item label="公司" prop="windpowerstationId">
-            <el-input class="inputs" v-model="form.company" disabled></el-input>
-          </el-form-item>
-        </div>
-        <div class="title-item">
-          <el-form-item label="地址" prop="address">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.address" autocomplete="off"></el-input>
-          </el-form-item>
-        </div>
-        <div class="title-item">
-          <el-form-item label="电话" prop="telephone">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.telephone" autocomplete="off"></el-input>
-          </el-form-item>
-        </div>
-        <div class="title-item">
-          <el-form-item label="地球经度" prop="longitude">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.longitude" autocomplete="off"></el-input>
-          </el-form-item>
-        </div>
-        <div class="title-item">
-          <el-form-item label="地球纬度" prop="latitude">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.latitude" autocomplete="off"></el-input>
-          </el-form-item>
-        </div>
-        <div class="title-item">
-          <el-form-item label="图片" prop="photo">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.photo" autocomplete="off"></el-input>
-          </el-form-item>
-        </div>
-        <div class="title-item">
-          <el-form-item label="系统厂家" prop="systemManufact">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.systemManufact" autocomplete="off"></el-input>
-          </el-form-item>
-        </div>
-        <div class="title-item">
-          <el-form-item label="场长" prop="headfarm">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.headfarm" autocomplete="off"></el-input>
-          </el-form-item>
-        </div>
-        <div class="title-item">
-          <el-form-item label="场长电话" prop="headfarmPhone">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.headfarmPhone" autocomplete="off"></el-input>
-          </el-form-item>
-        </div>
-        <div class="title-item">
-          <el-form-item label="机型" prop="model">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.model" autocomplete="off"></el-input>
-          </el-form-item>
-        </div>
-        <div class="title-item">
-          <el-form-item label="顺序" prop="orderNum">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.orderNum" autocomplete="off"></el-input>
-          </el-form-item>
-        </div>
-        <div class="title-item">
-          <el-form-item label="海拔高度" prop="height">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.height" autocomplete="off"></el-input>
-          </el-form-item>
-        </div>
-      </div>
-      <!-- 风电 -->
-      <el-divider><span>风电信息</span></el-divider>
       <el-row>
+        <el-col :span="12"><el-form-item label="编号" prop="id"><el-input placeholder="请输入" class="inputs" v-model.trim="form.id"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="编码" prop="nemCode"><el-input placeholder="请输入" class="inputs" v-model.trim="form.nemCode"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="名称" prop="name"><el-input placeholder="请输入" class="inputs" v-model.trim="form.name"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="地址" prop="address"><el-input placeholder="请输入" class="inputs" v-model.trim="form.address"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="电话" prop="telephone"><el-input placeholder="请输入" class="inputs" v-model.trim="form.telephone"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="别名" prop="aname"><el-input placeholder="请输入" class="inputs" v-model.trim="form.aname"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="地球经度" prop="longitude"><el-input placeholder="请输入" class="inputs" v-model.trim="form.longitude"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="地球纬度" prop="latitude"><el-input placeholder="请输入" class="inputs" v-model.trim="form.latitude"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="图片" prop="photo"><el-input placeholder="请输入" class="inputs" v-model.trim="form.photo"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="系统厂家" prop="systemManufact"><el-input placeholder="请输入" class="inputs" v-model.trim="form.systemManufact"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="场长" prop="headfarm"><el-input placeholder="请输入" class="inputs" v-model.trim="form.headfarm"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="场长电话" prop="headfarmPhone"><el-input placeholder="请输入" class="inputs" v-model.trim="form.headfarmPhone"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="机型" prop="model"><el-input placeholder="请输入" class="inputs" v-model.trim="form.model"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="顺序" prop="orderNum"><el-input placeholder="请输入" class="inputs" v-model.trim="form.orderNum"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="海拔高度" prop="height"><el-input placeholder="请输入" class="inputs" v-model.trim="form.height"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="场站类型" prop="windType"><el-input placeholder="请输入" class="inputs" v-model.trim="form.windType"></el-input></el-form-item></el-col>
         <el-col :span="12">
-          <el-form-item label="风电装机容量" prop="windCapacity">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.windCapacity" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="风电容量单位" prop="windCapacityUnit">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.windCapacityUnit" autocomplete="off">
-            </el-input>
+          <el-form-item label="公司编号" prop="companyId">
+            <!-- <el-input placeholder="请输入" class="inputs" v-model.trim="form.companyId"></el-input> -->
+            <el-select style="width:200px" v-model="form.companyId" placeholder="请选择">
+              <el-option
+                v-for="item in companyIdOptions"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id">
+              </el-option>
+            </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="风电装机数量海上" prop="windQuantityHs">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.windQuantityHs" autocomplete="off">
-            </el-input>
+          <el-form-item label="区域编号" prop="regionId">
+            <!-- <el-input placeholder="请输入" class="inputs" v-model.trim="form.regionId"></el-input> -->
+            <el-select style="width:200px" v-model="form.regionId" placeholder="请选择">
+              <el-option
+                v-for="item in regionIdOptions"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id">
+              </el-option>
+            </el-select>
           </el-form-item>
         </el-col>
         <el-col :span="12">
-          <el-form-item label="风电装机数量陆地" prop="windQuantityLd">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.windQuantityLd" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入风电装机容量" prop="jrwindCapacity">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindCapacity" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入风电容量单位" prop="jrwindCapacityUnit">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindCapacityUnit" autocomplete="off">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入风电装机数量海上" prop="jrwindQuantityHs">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindQuantityHs" autocomplete="off">
-            </el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入风电装机数量陆地" prop="jrwindQuantityLd">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindQuantityLd" autocomplete="off">
-            </el-input>
+          <el-form-item label="集团编号" prop="groupId">
+            <!-- <el-input placeholder="请输入" class="inputs" v-model.trim="form.groupId"></el-input> -->
+            <el-select style="width:200px" v-model="form.groupId" placeholder="请选择">
+              <el-option
+                v-for="item in groupIdOptions"
+                :key="item.id"
+                :label="item.name"
+                :value="item.id">
+              </el-option>
+            </el-select>
           </el-form-item>
         </el-col>
+        <el-col :span="12"><el-form-item label="是否可用" prop="isAble"><el-input placeholder="请输入" class="inputs" v-model.trim="form.isAble"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="核准容量" prop="appCapacity"><el-input placeholder="请输入" class="inputs" v-model.trim="form.appCapacity"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="在建容量" prop="conCapacity"><el-input placeholder="请输入" class="inputs" v-model.trim="form.conCapacity"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="并网容量" prop="gridCapacity"><el-input placeholder="请输入" class="inputs" v-model.trim="form.gridCapacity"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="吊装容量" prop="hoiCapacity"><el-input placeholder="请输入" class="inputs" v-model.trim="form.hoiCapacity"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="首批并网时间" prop="firstGridTime"><el-input placeholder="请输入" class="inputs" v-model.trim="form.firstGridTime"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="整场投运时间" prop="wholeGridTime"><el-input placeholder="请输入" class="inputs" v-model.trim="form.wholeGridTime"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="测风塔数量" prop="anemoNumber"><el-input placeholder="请输入" class="inputs" v-model.trim="form.anemoNumber"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="升压站数量" prop="stationNumber"><el-input placeholder="请输入" class="inputs" v-model.trim="form.stationNumber"></el-input></el-form-item></el-col>
+      </el-row>
+      <!-- 风电 -->
+      <el-divider><span>风电信息</span></el-divider>
+      <el-row>
+        <el-col :span="12"><el-form-item label="风电装机容量" prop="windCapacity"><el-input placeholder="请输入" class="inputs" v-model.trim="form.windCapacity"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="风电容量单位" prop="windCapacityUnit"><el-input placeholder="请输入" class="inputs" v-model.trim="form.windCapacityUnit"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="风电装机数量海上" prop="windQuantityHs"><el-input placeholder="请输入" class="inputs" v-model.trim="form.windQuantityHs"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="风电装机数量陆地" prop="windQuantityLd"><el-input placeholder="请输入" class="inputs" v-model.trim="form.windQuantityLd"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入风电装机容量" prop="jrwindCapacity"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindCapacity"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入风电容量单位" prop="jrwindCapacityUnit"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindCapacityUnit"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入风电装机数量海上" prop="jrwindQuantityHs"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindQuantityHs"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入风电装机数量陆地" prop="jrwindQuantityLd"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrwindQuantityLd"></el-input></el-form-item></el-col>
       </el-row>
       <!-- 光伏 -->
       <el-divider><span>光伏信息</span></el-divider>
       <el-row>
-        <el-col :span="12">
-          <el-form-item label="光伏装机容量" prop="capacity">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.capacity" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="光伏容量单位" prop="capacityUnit">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.capacityUnit" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入光伏装机容量" prop="jrCapacity">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrCapacity" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入光伏容量单位" prop="jrCapacityUnit">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrCapacityUnit" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入光伏装机数量集中" prop="jrquantityJz">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrquantityJz" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="接入光伏装机数量组串" prop="jrquantityZc">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.jrquantityZc" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="光伏装机数量集中" prop="quantityJz">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.quantityJz" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
-        <el-col :span="12">
-          <el-form-item label="光伏装机数量组串" prop="quantityZc">
-            <el-input placeholder="请输入" class="inputs" v-model.trim="form.quantityZc" autocomplete="off"></el-input>
-          </el-form-item>
-        </el-col>
+        <el-col :span="12"><el-form-item label="光伏装机容量" prop="capacity2"><el-input placeholder="请输入" class="inputs" v-model.trim="form.capacity2"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="光伏容量单位" prop="capacityUnit2"><el-input placeholder="请输入" class="inputs" v-model.trim="form.capacityUnit2"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="光伏装机数量集中" prop="quantityJz"><el-input placeholder="请输入" class="inputs" v-model.trim="form.quantityJz"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="光伏装机数量组串" prop="quantityZc"><el-input placeholder="请输入" class="inputs" v-model.trim="form.quantityZc"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入光伏装机容量" prop="jrCapacity"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrCapacity"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入光伏容量单位" prop="jrCapacityUnit"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrCapacityUnit"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入光伏装机数量集中" prop="jrquantityJz"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrquantityJz"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="接入光伏装机数量组串" prop="jrquantityZc"><el-input placeholder="请输入" class="inputs" v-model.trim="form.jrquantityZc"></el-input></el-form-item></el-col>
       </el-row>
     </el-form>
     <div slot="footer" class="dialog-footer">
@@ -209,62 +113,68 @@ export default {
   },
   data() {
     return {
+      groupIdOptions: [],
+      regionIdOptions: [],
+      companyIdOptions: [],
       stationList: [],
       form: {
-        id: '',
-        name: '',
-        aname: '',
-        cascaderSel: '',
-        address: '',
-        telephone: '',
-        longitude: '',
-        latitude: '',
-        photo: '',
-        systemManufact: '',
-        headfarm: '',
-        headfarmPhone: '',
-        model: '',
-        orderNum: '',
-        height: '',
-        windCapacity: '',
-        windCapacityUnit: '',
-        windQuantityHs: '',
-        windQuantityLd: '',
-        capacity: '',
-        capacityUnit: '',
-        quantityJz: '',
-        quantityZc: '',
-        jrwindCapacity: '',
-        jrwindCapacityUnit: '',
-        jrwindQuantityHs: '',
-        jrwindQuantityLd: '',
-        jrCapacity: '',
-        jrCapacityUnit: '',
-        jrquantityJz: '',
-        jrquantityZc: '',
+        id: "",
+        nemCode: "",
+        name: "",
+        address: "",
+        telephone: "",
+        windCapacity: "",
+        windCapacityUnit: "",
+        windQuantityHs: "",
+        windQuantityLd: "",
+        capacity2: "",
+        capacityUnit2: "",
+        quantityJz: "",
+        quantityZc: "",
+        jrwindCapacity: "",
+        jrwindCapacityUnit: "",
+        jrwindQuantityHs: "",
+        jrwindQuantityLd: "", 
+        jrCapacity: "",
+        jrCapacityUnit: "",
+        jrquantityJz: "",
+        jrquantityZc: "",
+        aname: "",
+        longitude: "",
+        latitude: "",
+        photo: "",
+        systemManufact: "",
+        headfarm: "",
+        headfarmPhone: "",
+        model: "",
+        orderNum: "",
+        height: "",
+        windType: "",
+        companyId: "",
+        regionId: "",
+        groupId: "",
+        isAble: "",
+        appCapacity: "",
+        conCapacity: "",
+        gridCapacity: "",
+        hoiCapacity: "",
+        firstGridTime: "",
+        wholeGridTime: "",
+        anemoNumber: "",
+        stationNumber: "",
       },
       rules: {
         id: [{ required: true, trigger: 'blur', message: '请输入' }],
+        nemCode: [{ required: true, trigger: 'blur', message: '请输入' }],
         name: [{ required: true, trigger: 'blur', message: '请输入' }],
-        aname: [{ required: true, trigger: 'blur', message: '请输入' }],
-        cascaderSel: [{ required: true, trigger: 'blur', message: '请选择场站' }],
         address: [{ required: true, trigger: 'blur', message: '请输入' }],
         telephone: [{ required: true, trigger: 'blur', message: '请输入' }],
-        longitude: [{ required: true, trigger: 'blur', message: '请输入' }],
-        latitude: [{ required: true, trigger: 'blur', message: '请输入' }],
-        photo: [{ required: true, trigger: 'blur', message: '请输入' }],
-        systemManufact: [{ required: true, trigger: 'blur', message: '请输入' }],
-        headfarm: [{ required: true, trigger: 'blur', message: '请输入' }],
-        headfarmPhone: [{ required: true, trigger: 'blur', message: '请输入' }],
-        model: [{ required: true, trigger: 'blur', message: '请输入' }],
-        orderNum: [{ required: true, trigger: 'blur', message: '请输入' }],
-        height: [{ required: true, trigger: 'blur', message: '请输入' }],
         windCapacity: [{ required: true, trigger: 'blur', message: '请输入' }],
         windCapacityUnit: [{ required: true, trigger: 'blur', message: '请输入' }],
         windQuantityHs: [{ required: true, trigger: 'blur', message: '请输入' }],
         windQuantityLd: [{ required: true, trigger: 'blur', message: '请输入' }],
-        capacity: [{ required: true, trigger: 'blur', message: '请输入' }],
-        capacityUnit: [{ required: true, trigger: 'blur', message: '请输入' }],
+        capacity2: [{ required: true, trigger: 'blur', message: '请输入' }],
+        capacityUnit2: [{ required: true, trigger: 'blur', message: '请输入' }],
         quantityJz: [{ required: true, trigger: 'blur', message: '请输入' }],
         quantityZc: [{ required: true, trigger: 'blur', message: '请输入' }],
         jrwindCapacity: [{ required: true, trigger: 'blur', message: '请输入' }],
@@ -275,14 +185,54 @@ export default {
         jrCapacityUnit: [{ required: true, trigger: 'blur', message: '请输入' }],
         jrquantityJz: [{ required: true, trigger: 'blur', message: '请输入' }],
         jrquantityZc: [{ required: true, trigger: 'blur', message: '请输入' }],
+        aname: [{ required: true, trigger: 'blur', message: '请输入' }],
+        longitude: [{ required: true, trigger: 'blur', message: '请输入' }],
+        latitude: [{ required: true, trigger: 'blur', message: '请输入' }],
+        photo: [{ required: true, trigger: 'blur', message: '请输入' }],
+        systemManufact: [{ required: true, trigger: 'blur', message: '请输入' }],
+        headfarm: [{ required: true, trigger: 'blur', message: '请输入' }],
+        headfarmPhone: [{ required: true, trigger: 'blur', message: '请输入' }],
+        model: [{ required: true, trigger: 'blur', message: '请输入' }],
+        orderNum: [{ required: true, trigger: 'blur', message: '请输入' }],
+        height: [{ required: true, trigger: 'blur', message: '请输入' }],
+        windType: [{ required: true, trigger: 'blur', message: '请输入' }],
+        companyId: [{ required: true, trigger: 'blur', message: '请输入' }],
+        regionId: [{ required: true, trigger: 'blur', message: '请输入' }],
+        groupId: [{ required: true, trigger: 'blur', message: '请输入' }],
+        isAble: [{ required: true, trigger: 'blur', message: '请输入' }],
+        appCapacity: [{ required: true, trigger: 'blur', message: '请输入' }],
+        conCapacity: [{ required: true, trigger: 'blur', message: '请输入' }],
+        gridCapacity: [{ required: true, trigger: 'blur', message: '请输入' }],
+        hoiCapacity: [{ required: true, trigger: 'blur', message: '请输入' }],
+        firstGridTime: [{ required: true, trigger: 'blur', message: '请输入' }],
+        wholeGridTime: [{ required: true, trigger: 'blur', message: '请输入' }],
+        anemoNumber: [{ required: true, trigger: 'blur', message: '请输入' }],
+        stationNumber: [{ required: true, trigger: 'blur', message: '请输入' }],
       },
       title: '',
       dialogFormVisible: false,
       idAdd: true,
     }
   },
-  created() { },
+  created() { this.optionsData()},
   methods: {
+    optionsData(){
+      api.companys({id:"",name:"", pageNum: 1,pageSize: 1000,}).then(res => {
+        if (res.data) {
+          this.companyIdOptions = res.data.records
+        }
+      })
+      apis.regiontreels({ tag: 1 }).then(res => {
+        if (res.data) {
+          this.regionIdOptions = res.data
+        }
+      })
+      apis.newtreeTreels({ tag: 1 }).then(res => {
+        if (res.data) {
+          this.groupIdOptions = res.data
+        }
+      })
+    },
     showEdit(row) {
       this.getTree()
       if (!row) {

+ 119 - 72
src/views/stationConfiguration/station/index.vue

@@ -35,75 +35,50 @@
       <el-table ref="tableSort" v-loading="listLoading" :data="list" :element-loading-text="elementLoadingText"
         header-cell-class-name="table_header_style" border :height="height" @selection-change="setSelectRows">
         <el-table-column show-overflow-tooltip type="selection" width="55" align="center" fixed></el-table-column>
-        <el-table-column show-overflow-tooltip label="编码" prop="id" align="center" sortable fixed width="100">
-        </el-table-column>
-        <el-table-column show-overflow-tooltip label="风场名称" prop="name" align="left" sortable fixed width="150">
-        </el-table-column>
-        <el-table-column show-overflow-tooltip label="别名" prop="aname" align="left" sortable width="160">
-        </el-table-column>
-
-        <el-table-column show-overflow-tooltip label="集团编号" prop="groupId" align="center" sortable width="160">
-        </el-table-column>
-        <el-table-column show-overflow-tooltip label="区域编号" prop="regionId" align="center" sortable width="160">
-        </el-table-column>
-        <el-table-column show-overflow-tooltip label="公司编号" prop="companyId" align="center" sortable width="150">
-        </el-table-column>
-        <el-table-column show-overflow-tooltip label="地址" prop="address" align="center" sortable width="180">
-        </el-table-column>
-        <el-table-column show-overflow-tooltip label="电话" prop="telephone" align="center" sortable width="120">
-        </el-table-column>
-
-        <el-table-column width="150" show-overflow-tooltip label="风电装机容量" prop="windCapacity" align="center" sortable>
-        </el-table-column>
-        <el-table-column width="150" show-overflow-tooltip label="风电容量单位" prop="windCapacityUnit" align="center"
-          sortable></el-table-column>
-        <el-table-column width="160" show-overflow-tooltip label="风电装机数量海上" prop="windQuantityHs" align="center"
-          sortable>
-        </el-table-column>
-        <el-table-column width="160" show-overflow-tooltip label="风电装机数量陆地" prop="windQuantityLd" align="center"
-          sortable>
-        </el-table-column>
-        <el-table-column width="170" show-overflow-tooltip label="接入风电装机容量" prop="jrwindCapacity" align="center"
-          sortable></el-table-column>
-        <el-table-column width="170" show-overflow-tooltip label="接入风电容量单位" prop="jrwindCapacityUnit" align="center"
-          sortable></el-table-column>
-        <el-table-column width="180" show-overflow-tooltip label="接入风电装机数量海上" prop="jrwindQuantityHs" align="center"
-          sortable>
-        </el-table-column>
-        <el-table-column width="180" show-overflow-tooltip label="接入风电装机数量陆地" prop="jrwindQuantityLd" align="center"
-          sortable>
-        </el-table-column>
-        <el-table-column show-overflow-tooltip label="光伏装机容量" prop="capacity" align="center" sortable width="150">
-        </el-table-column>
-        <el-table-column show-overflow-tooltip label="光伏容量单位" prop="capacityUnit" align="center" sortable width="150">
-        </el-table-column>
-        <el-table-column width="170" show-overflow-tooltip label="接入光伏装机容量" prop="jrCapacity" align="center" sortable>
-        </el-table-column>
-        <el-table-column width="170" show-overflow-tooltip label="接入光伏容量单位" prop="jrCapacityUnit" align="center"
-          sortable></el-table-column>
-        <el-table-column width="190" show-overflow-tooltip label="接入光伏装机数量集中" prop="jrquantityJz" align="center"
-          sortable></el-table-column>
-        <el-table-column width="190" show-overflow-tooltip label="接入光伏装机数量组串" prop="jrquantityZc" align="center"
-          sortable></el-table-column>
-        <el-table-column width="170" show-overflow-tooltip label="光伏装机数量集中" prop="quantityJz" align="center" sortable>
-        </el-table-column>
-        <el-table-column width="170" show-overflow-tooltip label="光伏装机数量组串" prop="quantityZc" align="center" sortable>
-        </el-table-column>
-        <el-table-column show-overflow-tooltip label="地球经度" prop="longitude" align="center" sortable width="150">
-        </el-table-column>
-        <el-table-column show-overflow-tooltip label="地球纬度" prop="latitude" align="center" sortable width="150">
-        </el-table-column>
+        <el-table-column show-overflow-tooltip label="编号" prop="id" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="编码" prop="nemCode" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="名称" prop="name" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="地址" prop="address" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="电话" prop="telephone" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip width="150" label="风电装机容量" prop="windCapacity" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip width="150" label="风电容量单位" prop="windCapacityUnit" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip width="170" label="风电装机数量海上" prop="windQuantityHs" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip width="170" label="风电装机数量陆地" prop="windQuantityLd" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip width="150" label="光伏装机容量" prop="capacity2" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip width="150" label="光伏容量单位" prop="capacityUnit2" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip width="150" label="光伏装机数量集中" prop="quantityJz" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip width="150" label="光伏装机数量组串" prop="quantityZc" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip width="150" label="接入风电装机容量" prop="jrwindCapacity" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip width="150" label="接入风电容量单位" prop="jrwindCapacityUnit" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip width="170" label="接入风电装机数量海上" prop="jrwindQuantityHs" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip width="170" label="接入风电装机数量陆地" prop="jrwindQuantityLd" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip width="150" label="接入光伏装机容量" prop="jrCapacity" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip width="150" label="接入光伏容量单位" prop="jrCapacityUnit" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip width="170" label="接入光伏装机数量集中" prop="jrquantityJz" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip width="170" label="接入光伏装机数量组串" prop="jrquantityZc" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="别名" prop="aname" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="地球经度" prop="longitude" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="地球纬度" prop="latitude" align="center" sortable></el-table-column>
         <el-table-column show-overflow-tooltip label="图片" prop="photo" align="center" sortable></el-table-column>
-        <el-table-column show-overflow-tooltip label="系统厂家" prop="systemManufact" align="center" sortable width="150">
-        </el-table-column>
+        <el-table-column show-overflow-tooltip label="系统厂家" prop="systemManufact" align="center" sortable></el-table-column>
         <el-table-column show-overflow-tooltip label="场长" prop="headfarm" align="center" sortable></el-table-column>
-        <el-table-column show-overflow-tooltip label="场长电话" prop="headfarmPhone" align="center" sortable width="120">
-        </el-table-column>
-        <el-table-column show-overflow-tooltip label="机型" prop="model" align="center" sortable width="120">
-        </el-table-column>
+        <el-table-column show-overflow-tooltip label="场长电话" prop="headfarmPhone" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="机型" prop="model" align="center" sortable></el-table-column>
         <el-table-column show-overflow-tooltip label="顺序" prop="orderNum" align="center" sortable></el-table-column>
-        <el-table-column show-overflow-tooltip label="海拔高度" prop="height" align="center" sortable width="150">
-        </el-table-column>
+        <el-table-column show-overflow-tooltip label="海拔高度" prop="height" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="场站类型" prop="windType" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip :formatter="companyIdFormatter" label="公司编号" prop="companyId" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip :formatter="regionIdFormatter" label="区域编号" prop="regionId" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip :formatter="groupIdFormatter" label="集团编号" prop="groupId" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="是否可用" prop="isAble" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="核准容量" prop="appCapacity" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="在建容量" prop="conCapacity" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="并网容量" prop="gridCapacity" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="吊装容量" prop="hoiCapacity" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip width="150" label="首批并网时间" prop="firstGridTime" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip width="150" label="整场投运时间" prop="wholeGridTime" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip width="150" label="测风塔数量" prop="anemoNumber" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip width="150" label="升压站数量" prop="stationNumber" align="center" sortable></el-table-column>
         <el-table-column fixed="right" label="操作" width="100">
           <template #default="{ row }">
             <el-button type="text" @click="handleEdit(row)">编辑</el-button>
@@ -132,6 +107,9 @@ export default {
   },
   data() {
     return {
+      companyIdOptions: [],
+      regionIdOptions: [],
+      groupIdOptions: [],
       fuzzyQuery: '',
       listLoading: true,
       list: [],
@@ -165,13 +143,52 @@ export default {
       this.queryForm.pageNo = 1
       this.fetchData()
     },
+//     companyId
+// regionId
+// groupId
+    companyIdFormatter(row){
+      for (const iterator of this.companyIdOptions) {
+        if(row.companyId == iterator.id){
+          return iterator.name
+        }
+      }
+    },
+    regionIdFormatter(row){
+      for (const iterator of this.regionIdOptions) {
+        if(row.regionId == iterator.id){
+          return iterator.name
+        }
+      }
+    },
+    groupIdFormatter(row){
+      for (const iterator of this.groupIdOptions) {
+        if(row.groupId == iterator.id){
+          return iterator.name
+        }
+      }
+    },
     getTree() {
-      apis.newtreeTreels({ tag: 2 }).then(res => {
+      apis.newtreeTreels({ tag: 1 }).then(res => {
         if (res.data) {
           this.options = res.data
           this.fetchData()
         }
       })
+      api.companys({id:"",name:"", pageNum: 1,pageSize: 1000,}).then(res => {
+        if (res.data) {
+          this.companyIdOptions = res.data.records
+        }
+      })
+      apis.regiontreels({ tag: 1 }).then(res => {
+        if (res.data) {
+          this.regionIdOptions = res.data
+        }
+      })
+      apis.newtreeTreels({ tag: 1 }).then(res => {
+        if (res.data) {
+          this.groupIdOptions = res.data
+        }
+      })
     },
     getMyExcelData(val) {
       val.forEach(item => {
@@ -211,23 +228,53 @@ export default {
           this.templateExcel = [
             {
               id: "",
+              nemCode: "",
               name: "",
-              aname: "",
-              regionId: "",
               address: "",
               telephone: "",
-              capacity: "",
-              capacityUnit: "",
+              windCapacity: "",
+              windCapacityUnit: "",
+              windQuantityHs: "",
+              windQuantityLd: "",
+              capacity2: "",
+              capacityUnit2: "",
+              quantityJz: "",
+              quantityZc: "",
+              jrwindCapacity: "",
+              jrwindCapacityUnit: "",
+              jrwindQuantityHs: "",
+              jrwindQuantityLd: "",
+              jrCapacity: "",
+              jrCapacityUnit: "",
+              jrquantityJz: "",
+              jrquantityZc: "",
+              aname: "",
               longitude: "",
               latitude: "",
               photo: "",
-              companyId: "",
               systemManufact: "",
               headfarm: "",
               headfarmPhone: "",
               model: "",
               orderNum: "",
               height: "",
+              windType: "",
+              companyId: "",
+              regionId: "",
+              groupId: "",
+              isAble: "",
+              spare1: "",
+              spare2: "",
+              spare3: "",
+              spare4: "",
+              appCapacity: "",
+              conCapacity: "",
+              gridCapacity: "",
+              hoiCapacity: "",
+              firstGridTime: "",
+              wholeGridTime: "",
+              anemoNumber: "",
+              stationNumber: "",
             }
           ]
         }

+ 110 - 0
src/views/stationConfiguration/statusDictionaries/components/TableEdit.vue

@@ -0,0 +1,110 @@
+<template>
+	<el-dialog :title="title" :visible.sync="dialogFormVisible" width="800px" @close="close">
+		<el-form ref="form" :model="form" :rules="rules" label-width="150px">
+      <el-row>
+        <el-col :span="12"><el-form-item label="编码" prop="code"><el-input class="inputs" v-model="form.code" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="名称" prop="name"><el-input class="inputs" v-model="form.name" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="类型" prop="type"><el-input class="inputs" v-model="form.type" autocomplete="off"></el-input></el-form-item></el-col>
+      </el-row>
+		</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/realtimeDatabaseConfiguration'
+import dayjs from "dayjs";
+export default {
+	name: 'TableEdit',
+	props: {
+		options: {
+			type: Array,
+			default: []
+		},
+		stationList: {
+			type: Array,
+			default: []
+		},
+	},
+	data() {
+		return {
+			form: {
+			  code: "",
+        name: "",
+        type: "",
+			},
+			rules: {
+				code: [{ required: true, trigger: 'blur', message: '请输入' }],
+				name: [{ required: true, trigger: 'blur', message: '请输入' }],
+				type: [{ required: true, trigger: 'blur', message: '请输入' }],
+			},
+			title: '',
+			dialogFormVisible: false,
+			idAdd: true,
+		}
+	},
+	created() { },
+	methods: {
+    changeDate() {
+      this.$forceUpdate()
+    },
+		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.addDictionaries(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>

+ 218 - 0
src/views/stationConfiguration/statusDictionaries/index.vue

@@ -0,0 +1,218 @@
+<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_name" placeholder="请输入" clearable />
+					</div>
+					<el-button icon="el-icon-search" type="primary" native-type="submit" @click="searchFetchData">
+						查询
+					</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="exportExcel" :useType="'export'" partsName="设备状态"></ExportExcel>
+					<ExportExcel :exportList="templateExcel" :useType="'template'" partsName="设备状态模板"></ExportExcel>
+				</div>
+			</div>
+      <!-- 
+        	nem_code	编码	INTEGER		✓		编码
+          name	名称	VARCHAR2	50	✓		名称
+          type	类型	INTEGER		✓		类型
+       -->
+			<el-table header-cell-class-name="table_header_style" border ref="tableSort" v-loading="listLoading" :data="list"
+				:element-loading-text="elementLoadingText" :height="height" @selection-change="setSelectRows">
+				<el-table-column show-overflow-tooltip type="selection" align="center" width="40"></el-table-column>
+				<el-table-column show-overflow-tooltip label="编号" prop="code" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="名称" prop="name" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="类型" prop="type" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="操作" width="100px" 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" :stationList="stationList" @save-success="fetchData"></table-edit>
+		</vab-query-form>
+	</div>
+</template>
+<script>
+import UploadExcel from '@/components/UploadExcel/index'
+import ExportExcel from '@/components/ExportExcel/index'
+import api from '@/api/realtimeDatabaseConfiguration'
+import stationApi from '@/api/station'
+import TableEdit from './components/TableEdit'
+export default {
+	components: {
+		UploadExcel,
+		ExportExcel,
+		TableEdit,
+	},
+	data() {
+		return {
+			fuzzyQuery_name: '',
+			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.fetchData()
+	},
+	methods: {
+		getMyExcelData(val) {
+			val.forEach(item => {
+				api.addDictionaries(item).then(res => {
+					if (res.code == 200) {
+						this.$message({
+							type: 'success',
+							message: '添加成功!'
+						});
+						this.fetchData()
+					}
+				})
+			})
+		},
+		getStation() {
+			stationApi.windpowerstationList({
+				id: '',
+				name: '',
+				companyid: '',
+				pageNum: 1,
+				pageSize: 1000,
+			}).then(res => {
+				if (res.data) {
+					this.listLoading = false
+					this.stationList = res.data.records
+				}
+			})
+		},
+    searchFetchData(){
+      this.queryForm.pageNo = 1
+      this.fetchData()
+    },
+		fetchData() {
+			api.dictionariesList({
+				name: this.fuzzyQuery_name,
+				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 = [
+						{
+							code: "",
+							name: "",
+							type: "",
+						}
+					]
+					// 导出
+					let exportExcel = []
+					res.data.records.forEach(item => {
+						exportExcel.push({
+							code: item.id,
+							name: item.code,
+							type: item.name,
+						})
+					})
+					this.exportExcel = exportExcel
+				}
+			})
+		},
+		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.deleteDictionaries({
+						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>

+ 113 - 0
src/views/stationConfiguration/stopType/components/TableEdit.vue

@@ -0,0 +1,113 @@
+<template>
+	<el-dialog :title="title" :visible.sync="dialogFormVisible" width="800px" @close="close">
+		<el-form ref="form" :model="form" :rules="rules" label-width="150px">
+      <el-row>
+        <el-col :span="12"><el-form-item label="名称" prop="name"><el-input class="inputs" v-model="form.name" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="是否计划" prop="isPlan"><el-input class="inputs" v-model="form.isPlan" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="父id" prop="parentId"><el-input class="inputs" v-model="form.parentId" autocomplete="off"></el-input></el-form-item></el-col>
+        <el-col :span="12"><el-form-item label="内外原因" prop="nwys"><el-input class="inputs" v-model="form.nwys" autocomplete="off"></el-input></el-form-item></el-col>
+      </el-row>
+		</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/realtimeDatabaseConfiguration'
+import dayjs from "dayjs";
+export default {
+	name: 'TableEdit',
+	props: {
+		options: {
+			type: Array,
+			default: []
+		},
+		stationList: {
+			type: Array,
+			default: []
+		},
+	},
+	data() {
+		return {
+			form: {
+			  name: "",
+        isPlan: "",
+        parentId: "",
+        nwys: "",
+			},
+			rules: {
+				name: [{ required: true, trigger: 'blur', message: '请输入' }],
+				isPlan: [{ required: true, trigger: 'blur', message: '请输入' }],
+				parentId: [{ required: true, trigger: 'blur', message: '请输入' }],
+				nwys: [{ required: true, trigger: 'blur', message: '请输入' }],
+			},
+			title: '',
+			dialogFormVisible: false,
+			idAdd: true,
+		}
+	},
+	created() { },
+	methods: {
+    changeDate() {
+      this.$forceUpdate()
+    },
+		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.addStopType(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>

+ 222 - 0
src/views/stationConfiguration/stopType/index.vue

@@ -0,0 +1,222 @@
+<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_name" placeholder="请输入" clearable />
+					</div>
+					<el-button icon="el-icon-search" type="primary" native-type="submit" @click="searchFetchData">
+						查询
+					</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="exportExcel" :useType="'export'" partsName="设备状态"></ExportExcel>
+					<ExportExcel :exportList="templateExcel" :useType="'template'" partsName="设备状态模板"></ExportExcel>
+				</div>
+			</div>
+      <!-- 
+          name	名称	varchar	50	✓		名称
+          isPlan	是否计划	INT4	4	✓		是否计划
+          parentId	父id	varchar	50	✓		父ID
+          nwys	内外原因	varchar	50	✓		内外原因
+       -->
+			<el-table header-cell-class-name="table_header_style" border ref="tableSort" v-loading="listLoading" :data="list"
+				:element-loading-text="elementLoadingText" :height="height" @selection-change="setSelectRows">
+				<el-table-column show-overflow-tooltip type="selection" align="center" width="40"></el-table-column>
+				<el-table-column show-overflow-tooltip label="名称" prop="name" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="是否计划" prop="isPlan" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="父id" prop="parentId" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="内外原因" prop="nwys" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="操作" width="100px" 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" :stationList="stationList" @save-success="fetchData"></table-edit>
+		</vab-query-form>
+	</div>
+</template>
+<script>
+import UploadExcel from '@/components/UploadExcel/index'
+import ExportExcel from '@/components/ExportExcel/index'
+import api from '@/api/realtimeDatabaseConfiguration'
+import stationApi from '@/api/station'
+import TableEdit from './components/TableEdit'
+export default {
+	components: {
+		UploadExcel,
+		ExportExcel,
+		TableEdit,
+	},
+	data() {
+		return {
+			fuzzyQuery_name: '',
+			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.fetchData()
+	},
+	methods: {
+		getMyExcelData(val) {
+			val.forEach(item => {
+				api.addStopType(item).then(res => {
+					if (res.code == 200) {
+						this.$message({
+							type: 'success',
+							message: '添加成功!'
+						});
+						this.fetchData()
+					}
+				})
+			})
+		},
+		getStation() {
+			stationApi.windpowerstationList({
+				id: '',
+				name: '',
+				companyid: '',
+				pageNum: 1,
+				pageSize: 1000,
+			}).then(res => {
+				if (res.data) {
+					this.listLoading = false
+					this.stationList = res.data.records
+				}
+			})
+		},
+    searchFetchData(){
+      this.queryForm.pageNo = 1
+      this.fetchData()
+    },
+		fetchData() {
+			api.stopTypeList({
+				name: this.fuzzyQuery_name,
+				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 = [
+						{
+							name:"",
+              isPlan:"",
+              parentId:"",
+              nwys:"",
+						}
+					]
+					// 导出
+					let exportExcel = []
+					res.data.records.forEach(item => {
+						exportExcel.push({
+							name: item.name,
+							isPlan: item.isPlan,
+							parentId: item.parentId,
+							nwys: item.nwys,
+						})
+					})
+					this.exportExcel = exportExcel
+				}
+			})
+		},
+		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.deleteStopType({
+						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>

+ 1 - 1
src/views/stationConfiguration/windsubstation/index.vue

@@ -26,7 +26,7 @@
 			<el-table header-cell-class-name="table_header_style" border ref="tableSort" v-loading="listLoading" :data="list"
 				:element-loading-text="elementLoadingText" :height="height" @selection-change="setSelectRows">
 				<el-table-column show-overflow-tooltip type="selection" align="center" width="40"></el-table-column>
-				<el-table-column show-overflow-tooltip label="id" prop="id" align="center" sortable></el-table-column>
+				<el-table-column show-overflow-tooltip label="编号" prop="id" align="center" sortable></el-table-column>
 				<el-table-column show-overflow-tooltip label="编码" prop="nemCode" align="center" sortable></el-table-column>
 				<el-table-column show-overflow-tooltip label="名称" prop="name" align="center" sortable></el-table-column>
 				<el-table-column show-overflow-tooltip label="别名" prop="aname" align="center" sortable>

+ 2 - 2
src/views/stationConfiguration/windterbin/index.vue

@@ -27,8 +27,8 @@
         header-cell-class-name="table_header_style" border
         :height="height" @selection-change="setSelectRows">
         <el-table-column show-overflow-tooltip type="selection" width="55" align="center"></el-table-column>
-        <el-table-column show-overflow-tooltip label="编" prop="id" align="center" sortable></el-table-column>
-        <el-table-column show-overflow-tooltip label="编" prop="nemCode" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="编" prop="id" align="center" sortable></el-table-column>
+        <el-table-column show-overflow-tooltip label="编" prop="nemCode" align="center" sortable></el-table-column>
         <el-table-column show-overflow-tooltip label="风机名称" prop="name" align="center" sortable></el-table-column>
         <el-table-column width="150" show-overflow-tooltip label="首次并网时间" prop="firstIntegratedTime" align="center" sortable></el-table-column>
         <el-table-column show-overflow-tooltip label="风场编号" prop="windpowerstationId" align="center" sortable></el-table-column>