Browse Source

feat:场站配置导入导出,模板下载功能

chenxinlei 2 years ago
parent
commit
aed0e971db

+ 2 - 1
src/components/ExportExcel/index.vue

@@ -1,7 +1,7 @@
 <template>
   <span style="margin-right:10px">
     <el-button type="primary" @click="exportExcel()">
-      导出
+      {{useType === 'export' ?  '导出' : '模板下载' }}
     </el-button>
   </span>
 </template>
@@ -18,6 +18,7 @@ export default {
       },
     },
     partsName: String,
+    useType: String
   },
   data() {
     return {};

+ 38 - 0
src/views/stationConfiguration/area/index.vue

@@ -25,6 +25,9 @@
           <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 ref="tableSort" v-loading="listLoading" :data="list" :element-loading-text="elementLoadingText"
@@ -48,10 +51,14 @@
   </div>
 </template>
 <script>
+import UploadExcel from '@/components/UploadExcel/index'
+import ExportExcel from '@/components/ExportExcel/index'
 import api from '@/api/station'
 import TableEdit from './components/TableEdit'
 export default {
   components: {
+    UploadExcel,
+    ExportExcel,
     TableEdit,
   },
   data() {
@@ -61,6 +68,7 @@ export default {
       list: [],
       options: [],
       exportExcel: [],
+      templateExcel: [],
       elementLoadingText: '正在加载...',
       selectRows: '',
       layout: 'total, sizes, prev, pager, next, jumper',
@@ -85,6 +93,19 @@ export default {
     this.fetchData()
   },
   methods: {
+    getMyExcelData(val) {
+      val.forEach(item => {
+        api.addRegion(item).then(res => {
+          if (res.code == 200) {
+            this.$message({
+              type: 'success',
+              message: '添加成功!'
+            });
+            this.fetchData()
+          }
+        })
+      })
+    },
     getStation() {
       api.companys({
         id: '',
@@ -109,6 +130,23 @@ export default {
           this.listLoading = false
           this.total = res.data.total
           this.list = res.data.records
+          this.templateExcel = [
+            {
+              id: '',
+              name: '',
+              code: ''
+            }
+          ]
+          // 导出
+          let exportExcel = []
+          res.data.records.forEach(item => {
+            exportExcel.push({
+              id: item.id,
+              name: item.name,
+              code: item.code
+            })
+          })
+          this.exportExcel = exportExcel
         }
       })
     },

+ 11 - 2
src/views/stationConfiguration/company/index.vue

@@ -21,7 +21,8 @@
           删除
         </el-button>
         <UploadExcel style="margin-left: 10px;" @getResult="getMyExcelData"></UploadExcel>
-        <ExportExcel :exportList="exportExcel" partsName="公司"></ExportExcel>
+        <ExportExcel :exportList="exportExcel" :useType="'export'" partsName="公司"></ExportExcel>
+        <ExportExcel :exportList="templateExcel" :useType="'template'" partsName="公司模板"></ExportExcel>
       </vab-query-form-right-panel>
     </vab-query-form>
     <el-table ref="tableSort" v-loading="listLoading" :data="list" :element-loading-text="elementLoadingText"
@@ -61,6 +62,7 @@ export default {
       list: [],
       options: [],
       exportExcel: [],
+      templateExcel: [],
       elementLoadingText: '正在加载...',
       selectRows: '',
       layout: 'total, sizes, prev, pager, next, jumper',
@@ -108,12 +110,19 @@ export default {
           this.listLoading = false
           this.total = res.data.total
           this.list = res.data.records
+          this.templateExcel = [
+            {
+              id: '',
+              name: '',
+              rid: ''
+            }
+          ]
           let exportExcel = []
           res.data.records.forEach(item => {
             exportExcel.push({
               id: item.id,
               name: item.name,
-              rid: item.rid,
+              rid: item.rid
             })
           })
           this.exportExcel = exportExcel

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

@@ -61,7 +61,11 @@ export default {
     },
     stationList: {
       type: Array,
-      default: []
+      // 报错
+      // default: []
+      default: function() {
+			  return []
+		  }
     },
   },
   data() {

+ 50 - 0
src/views/stationConfiguration/line/index.vue

@@ -18,6 +18,9 @@
           <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>
 
@@ -49,10 +52,14 @@
   </div>
 </template>
 <script>
+import UploadExcel from '@/components/UploadExcel/index'
+import ExportExcel from '@/components/ExportExcel/index'
 import api from '@/api/station'
 import TableEdit from './components/TableEdit'
 export default {
   components: {
+    UploadExcel,
+    ExportExcel,
     TableEdit,
   },
   computed: {
@@ -67,6 +74,7 @@ export default {
       list: [],
       options: [],
       exportExcel: [],
+      templateExcel: [],
       elementLoadingText: '正在加载...',
       selectRows: '',
       layout: 'total, sizes, prev, pager, next, jumper',
@@ -85,6 +93,19 @@ export default {
     this.fetchData()
   },
   methods: {
+    getMyExcelData(val) {
+      val.forEach(item => {
+        api.addLine(item).then(res => {
+          if (res.code == 200) {
+            this.$message({
+              type: 'success',
+              message: '添加成功!'
+            });
+            this.fetchData()
+          }
+        })
+      })
+    },
     fetchData() {
       this.listLoading = true
       api.lines({
@@ -97,6 +118,35 @@ export default {
           this.list = res.data.records
           this.total = res.data.total
           this.listLoading = false
+          this.templateExcel = [
+            {
+              id: '',
+              code: '',
+              name: '',
+              aname: '',
+              projectid: '',
+              capacity: '',
+              capacityunit: '',
+              quantity: '',
+              ordernum: '',
+            }
+          ]
+          // 导出
+          let exportExcel = []
+          res.data.records.forEach(item => {
+            exportExcel.push({
+              id: item.id,
+              code: item.code,
+              name: item.name,
+              aname: item.aname,
+              projectid: item.projectid,
+              capacity: item.capacity,
+              capacityunit: item.capacityunit,
+              quantity: item.quantity,
+              ordernum: item.ordernum,
+            })
+          })
+          this.exportExcel = exportExcel
         }
       })
     },

+ 60 - 0
src/views/stationConfiguration/period/index.vue

@@ -25,6 +25,9 @@
           <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 ref="tableSort" v-loading="listLoading" :data="list" :element-loading-text="elementLoadingText"
@@ -64,10 +67,14 @@
   </div>
 </template>
 <script>
+import UploadExcel from '@/components/UploadExcel/index'
+import ExportExcel from '@/components/ExportExcel/index'
 import api from '@/api/station'
 import TableEdit from './components/TableEdit'
 export default {
   components: {
+    UploadExcel,
+    ExportExcel,
     TableEdit,
   },
   data() {
@@ -77,6 +84,7 @@ export default {
       list: [],
       options: [],
       exportExcel: [],
+      templateExcel: [],
       elementLoadingText: '正在加载...',
       selectRows: '',
       layout: 'total, sizes, prev, pager, next, jumper',
@@ -101,6 +109,19 @@ export default {
     this.fetchData()
   },
   methods: {
+    getMyExcelData(val) {
+      val.forEach(item => {
+        api.addProject(item).then(res => {
+          if (res.code == 200) {
+            this.$message({
+              type: 'success',
+              message: '添加成功!'
+            });
+            this.fetchData()
+          }
+        })
+      })
+    },
     getStation() {
       api.windpowerstationList({
         id: '',
@@ -126,6 +147,45 @@ export default {
           this.listLoading = false
           this.total = res.data.total
           this.list = res.data.records
+          this.templateExcel = [
+            {
+              id: '',
+              code: '',
+              name: '',
+              aname: '',
+              capacity: '',
+              capacityunit: '',
+              commissiondate: '',
+              masterphone: '',
+              model: '',
+              ordernum: '',
+              quantity: '',
+              shiftforeman: '',
+              shiftforemanphone: '',
+              windpowerstationid: '',
+            }
+          ]
+          // 导出
+          let exportExcel = []
+          res.data.records.forEach(item => {
+            exportExcel.push({
+              id: item.id,
+              code: item.code,
+              name: item.name,
+              aname: item.aname,
+              capacity: item.capacity,
+              capacityunit: item.capacityunit,
+              commissiondate: item.commissiondate,
+              masterphone: item.masterphone,
+              model: item.model,
+              ordernum: item.ordernum,
+              quantity: item.quantity,
+              shiftforeman: item.shiftforeman,
+              shiftforemanphone: item.shiftforemanphone,
+              windpowerstationid: item.windpowerstationid,
+            })
+          })
+          this.exportExcel = exportExcel
         }
       })
     },

+ 69 - 0
src/views/stationConfiguration/station/index.vue

@@ -25,6 +25,9 @@
           <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 ref="tableSort" v-loading="listLoading" :data="list" :element-loading-text="elementLoadingText"
@@ -80,10 +83,14 @@
   </div>
 </template>
 <script>
+import UploadExcel from '@/components/UploadExcel/index'
+import ExportExcel from '@/components/ExportExcel/index'
 import api from '@/api/station'
 import TableEdit from './components/TableEdit'
 export default {
   components: {
+    UploadExcel,
+    ExportExcel,
     TableEdit,
   },
   data() {
@@ -93,6 +100,7 @@ export default {
       list: [],
       options: [],
       exportExcel: [],
+      templateExcel: [],
       elementLoadingText: '正在加载...',
       selectRows: '',
       layout: 'total, sizes, prev, pager, next, jumper',
@@ -117,6 +125,19 @@ export default {
     this.fetchData()
   },
   methods: {
+    getMyExcelData(val) {
+      val.forEach(item => {
+        api.addWindpowerstation(item).then(res => {
+          if (res.code == 200) {
+            this.$message({
+              type: 'success',
+              message: '添加成功!'
+            });
+            this.fetchData()
+          }
+        })
+      })
+    },
     getStation() {
       api.companys({
         id: '',
@@ -142,6 +163,54 @@ export default {
           this.listLoading = false
           this.total = res.data.total
           this.list = res.data.records
+          this.templateExcel = [
+            {
+              id: '',
+              name: '',
+              aname: '',
+              code: '',
+              address: '',
+              telephone: '',
+              capacity: '',
+              capacityunit: '',
+              quantity: '',
+              longitude: '',
+              latitude: '',
+              photo: '',
+              companyid: '',
+              systemmanufact: '',
+              headfarm: '',
+              headfarmphone: '',
+              model: '',
+              ordernum: '',
+            }
+          ]
+          // 导出
+          let exportExcel = []
+          res.data.records.forEach(item => {
+            exportExcel.push({
+              id: item.id,
+              name: item.name,
+              aname: item.aname,
+              code: item.code,
+              address: item.address,
+              telephone: item.telephone,
+              capacity: item.capacity,
+              capacityunit: item.capacityunit,
+              quantity: item.quantity,
+              longitude: item.longitude,
+              latitude: item.latitude,
+              photo: item.photo,
+              companyid: item.companyid,
+              systemmanufact: item.systemmanufact,
+              headfarm: item.headfarm,
+              headfarmphone: item.headfarmphone,
+              model: item.model,
+              ordernum: item.ordernum,
+              height: item.height,
+            })
+          })
+          this.exportExcel = exportExcel
         }
       })
     },

+ 56 - 0
src/views/stationConfiguration/windterbin/index.vue

@@ -18,6 +18,9 @@
           <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 ref="tableSort" v-loading="listLoading" :data="list" :element-loading-text="elementLoadingText"
@@ -55,10 +58,14 @@
   </div>
 </template>
 <script>
+import UploadExcel from '@/components/UploadExcel/index'
+import ExportExcel from '@/components/ExportExcel/index'
 import api from '@/api/station'
 import TableEdit from './components/TableEdit'
 export default {
   components: {
+    UploadExcel,
+    ExportExcel,
     TableEdit,
   },
   data() {
@@ -68,6 +75,7 @@ export default {
       list: [],
       options: [],
       exportExcel: [],
+      templateExcel: [],
       elementLoadingText: '正在加载...',
       selectRows: '',
       layout: 'total, sizes, prev, pager, next, jumper',
@@ -92,6 +100,19 @@ export default {
     this.fetchData()
   },
   methods: {
+    getMyExcelData(val) {
+      val.forEach(item => {
+        api.addWindturbine(item).then(res => {
+          if (res.code == 200) {
+            this.$message({
+              type: 'success',
+              message: '添加成功!'
+            });
+            this.fetchData()
+          }
+        })
+      })
+    },
     getStation() {
       api.windpowerstationList({
         id: '',
@@ -116,6 +137,41 @@ export default {
           this.listLoading = false
           this.total = res.data.total
           this.list = res.data.records
+          this.templateExcel = [
+            {
+              id: '',
+              status: '',
+              name: '',
+              firstintegratedtime: '',
+              windpowerstationid: '',
+              projectid: '',
+              lineid: '',
+              latitude: '',
+              longitude: '',
+              modelid: '',
+              photo: '',
+              standardid: '',
+            }
+          ]
+          // 导出
+          let exportExcel = []
+          res.data.records.forEach(item => {
+            exportExcel.push({
+              id: item.id,
+              status: item.status,
+              name: item.name,
+              firstintegratedtime: item.firstintegratedtime,
+              windpowerstationid: item.windpowerstationid,
+              projectid: item.projectid,
+              lineid: item.lineid,
+              latitude: item.latitude,
+              longitude: item.longitude,
+              modelid: item.modelid,
+              photo: item.photo,
+              standardid: item.standardid,
+            })
+          })
+          this.exportExcel = exportExcel
         }
       })
     },