新增光伏发电和双碳管设备

This commit is contained in:
yjl 2022-12-14 18:53:30 +08:00
parent 294abc10c1
commit 3fa1f3d8ec
11 changed files with 1380 additions and 18 deletions

View File

@ -1,10 +1,10 @@
/**
* api接口统一管理
*/
import {post} from '../../http'
import {post,get} from '../../http'
export const getComapnyStatisticsListApi = data => post('xmgl/company/getComapnyStatisticsList', data); //统计企业下项目各项目统计
export const getWorkerStatisticsCountApi = data => post('xmgl/workerInfo/getWorkerStatisticsCount', data,"aa"); //统计企业下项目各人员统计
export const getWorkerStatisticsCountApi = data => get('xmgl/workerInfo/getPersonnelSituationNum', data,"aa"); //统计企业下项目各人员统计
export const getComapnyParentNameApi = data => post('xmgl/company/getComapnyParentName', data);//根据sn查所有父级组织
export const getComapnyVideoListApi = data => post('xmgl/company/getComapnyVideoList', data); //统计企业下视频列表

View File

@ -43,3 +43,30 @@ export const getGantryCraneAlarmListApi = data => post('xmgl/gantryCraneAlarm/li
//
// //设备管理
export const updateGantryCraneCoordinateApi = data => post('xmgl/gantryCrane/updateGantryCraneCoordinate', data); //修改地图点位
//光伏发电设备
export const getPhotovoltaocList = data => get('xmgl/photovoltaicPowerDev/selectPage', data); //查询列表数据
export const addPhotovoltaoc = data => post('xmgl/photovoltaicPowerDev/addPhotovoltaicPowerDev', data); //新增光伏设备
export const editPhotovoltaoc = data => post('xmgl/photovoltaicPowerDev/updatePhotovoltaicPowerDev', data); //编辑光伏设备
export const deletePhotovoltaoc = data => get('xmgl/photovoltaicPowerDev/deleteById', data); //删除光伏设备
//光伏发电设备(实时数据)
export const getRealTimeList = data => get('xmgl/photovoltaicPowerCurrentData/selectPage', data); //查询列表数据(实时数据)
export const addRealTimPhotovoltaoc = data => post('xmgl/photovoltaicPowerCurrentData/addPhotovoltaicPowerCurrentData', data); //新增光伏设备(实时数据)
export const editRealTimPhotovoltaoc = data => post('xmgl/photovoltaicPowerCurrentData/updatePhotovoltaicPowerCurrentData', data); //编辑光伏设备(实时数据)
export const deleteRealTimPhotovoltaoc = data => get('xmgl/photovoltaicPowerCurrentData/deleteById', data); //删除光伏设备(实时数据)
export const getPhotovltaocName = data => get('/xmgl/photovoltaicPowerDev/list', data); //新增光伏设备下拉框(实时数据)
//双碳设备
export const getBicarbonList = data => get('xmgl/doubleCarbonDev/selectPage', data); //查询列表数据
export const addBicarbon = data => post('xmgl/doubleCarbonDev/addDoubleCarbonDev', data); //新增双碳设备
export const editBicarbon = data => post('xmgl/doubleCarbonDev/updateDoubleCarbonDev', data); //编辑双碳设备
export const deleteBicarbon = data => get('xmgl/doubleCarbonDev/deleteById', data); //删除双碳设备
//加油记录getRefuelingRecordList,addRefuelingRecord,editRefuelingRecord,deleteRefuelingRecord
export const getRefuelingRecordList = data => get('xmgl/doubleCarbonDevData/selectPage', data); //查询列表数据
export const addRefuelingRecord = data => post('xmgl/doubleCarbonDevData/addDoubleCarbonDevData', data); //新增加油记录
export const editRefuelingRecord = data => post('xmgl/doubleCarbonDevData/updateDoubleCarbonDevData', data); //编辑加油记录
export const deleteRefuelingRecord = data => get('xmgl/doubleCarbonDevData/deleteById', data); //删除加油记录
export const getAllRefuelingRecordList = data => get('xmgl/doubleCarbonDev/list', data); //查询所有设备

View File

@ -40,7 +40,7 @@ if (process.env.NODE_ENV == 'development') {
// axios.defaults.baseURL = 'http://124.71.178.44:100/' // 河南
// tag: 本地
// axios.defaults.baseURL = 'http://192.168.34.174:6023/' // 老大本地
axios.defaults.baseURL = 'http://192.168.34.116:6023/' // 邱平毅本地
axios.defaults.baseURL = 'http://192.168.34.116:6023/' // 邱平毅本地
// axios.defaults.baseURL = 'http://192.168.34.117:6023/' // 杨杰本地
// axios.defaults.baseURL = 'http://ue6a4s.natappfree.cc' // 邱平毅vpn本地
// axios.defaults.baseURL = 'http://139.9.66.234:6324/' // 河南春笋

View File

@ -109,7 +109,27 @@ const routes = [{
path: 'gantryCraneDevManage',
name: '龙门吊_设备管理',
component: () => import('@/views/projectLevel/gantryCrane/gantryCraneInfo.vue')
}
},
{
path: 'photovoltaic',
name: '光伏发电_实时数据_设备管理',
component: () => import('@/views/projectLevel/photovoltaic/photovoltaic.vue')
},
{
path: 'photovoltaicEquipment',
name: '光伏发电_光伏设备_设备管理',
component: () => import('@/views/projectLevel/photovoltaic/photovoltaicEquipment.vue')
},
{
path: 'bicarbonEquipment',
name: '双碳设备_加油记录_设备管理',
component: () => import('@/views/projectLevel/bicarbonEquipment/bicarbonEquipment.vue')
},
{
path: 'bicarbonEquipmentManage',
name: '双碳设备_设备管理',
component: () => import('@/views/projectLevel/bicarbonEquipment/bicarbonEquipmentManage.vue')
},
]
},
{

View File

@ -20,6 +20,7 @@ export default {
projectSn:"",
towerNumber:"",
lifterNumber:"",
videoNumber:""
}
},
created(){
@ -32,11 +33,13 @@ export default {
getData(){
getDevNumberApi({ projectSn: this.projectSn }).then((res)=>{
if(res.code == 200){
console.log('设备管理',res.result);
this.towerNumber = res.result.towerNumber
this.lifterNumber = res.result.lifterNumber
this.videoNumber = res.result.videoNumber
this.initChart('firstChart', this.towerNumber, '塔吊设备数', require('../assets/images/command-center/icon-tower.png'))
this.initChart('secondChart', this.lifterNumber, '升降机设备数', require('../assets/images/command-center/icon-lifter.png'))
this.initChart('thirdChart', 5, '视频设备数', require('../assets/images/command-center/icon-video.png'))
this.initChart('thirdChart', this.videoNumber , '视频设备数', require('../assets/images/command-center/icon-video.png'))
}
})
},

View File

@ -6,32 +6,32 @@
<img src="../assets/images/common/num_skyblue.png" />
</div>
<div class="contentBtn">
<p class="num1">{{statisticsCount.workercount.lwAndGlPersonTotal}}</p>
<p class="num1">{{statisticsCount.sumNumber}}</p>
<p class="text">在场总人数</p>
</div>
<div class="img">
<img style=" margin-left: 25px;" src="../assets/images/common/icon_hs.png" />
</div>
<div class="contentBtn">
<p class="num2">{{statisticsCount.workercount.manPersonTotal}}</p>
<p class="num2">{{statisticsCount.realNameNumber}}</p>
<p class="text">实名制人数</p>
</div>
</div>
<div class="contentbut">
<div class="lw">
<p>劳务人数</p>
<p class="number">{{statisticsCount.workercount.lwPersonTotal}}</p>
<p class="number">{{statisticsCount.lwNumber}}</p>
</div>
<div class="cq">
<p>管理人员数量</p>
<p>出勤人数</p>
<!-- <p class="number">{{ statisticsCount.workercount.jfGlPersonTotal +
statisticsCount.workercount.jlGlPersonTotal
+ statisticsCount.workercount.yfGlPersonTotal }}</p> -->
<p class="number">{{ statisticsCount.workercount.glPersonTotal }}</p>
<p class="number">{{ statisticsCount.attendanceNumber }}</p>
</div>
<div class="tc">
<p>今日出勤人数</p>
<p class="number">96</p>
<p>退场人数</p>
<p class="number">{{ statisticsCount.exitNumber }}</p>
</div>
</div>
</div>

View File

@ -21,12 +21,12 @@ export default {
data() {
return {
list:[
{time:'10月14日 11:29',value:'2022年10月13日广州市新冠肺炎疫情情况-广州本地宝',
url:'http://gz.bendibao.com/news/20221014/content326288.shtml'
},
{time:'10月14日 09:14',value:'10月13日广州新增本土确诊25例和无症状3例(含12例无症状确诊)',
url:'http://gz.bendibao.com/news/20221014/content326265.shtml'
},
// {time:'1014 11:29',value:'20221013广-广',
// url:'http://gz.bendibao.com/news/20221014/content326288.shtml'
// },
// {time:'1014 09:14',value:'1013广253(12)',
// url:'http://gz.bendibao.com/news/20221014/content326265.shtml'
// },
]
}
},

View File

@ -0,0 +1,312 @@
<template>
<div class="diaryList">
<div class="whiteBlock title">
<el-form :inline="true" size="medium" :model="formInline" class="demo-form-inline">
<el-form-item label="设备名称">
<el-input v-model="formInline.buildName" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit" plain>查询</el-button>
<el-button type="primary" @click="refreshBtn" plain>刷新</el-button>
<el-button type="primary" @click="openAdd" plain>新增</el-button>
</el-form-item>
</el-form>
</div>
<div class="content whiteBlock">
<vue-scroll style="height: 100%">
<el-table class="tables" :data="tableList">
<el-table-column prop="devName" label="设备名称" align="center"></el-table-column>
<el-table-column prop="fuelCharge" label="加油量/升" align="center"></el-table-column>
<el-table-column prop="createTime" label="创建时间 " align="center"></el-table-column>
<el-table-column prop="updateTime" label="更新时间 " align="center"></el-table-column>
<el-table-column label="操作" align="center" width="250">
<template slot-scope="scope">
<div class="tableBtns">
<div @click="editBtn(scope.row)" class="operationText">
<i class="el-icon-edit" style="color: #8dacfa; font-size: 16px; margin-right: 2px"></i>
<span>编辑</span>
</div>
<div @click="deleteBtn(scope.row)" class="operationText">
<i class="el-icon-delete" style="color: #eb5760; font-size: 16px; margin-right: 2px"></i>
<span>删除</span>
</div>
</div>
</template>
</el-table-column>
</el-table>
<el-pagination
class="pagerBox"
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="current"
:page-sizes="$store.state.PAGESIZRS"
:page-size="pageSize"
layout="total, sizes, prev, pager, next"
:total="Number(total)"
></el-pagination>
</vue-scroll>
<el-dialog title="新增" :visible.sync="dialogVisibleAdd" width="30%" :before-close="handleClose">
<el-form ref="form" :model="form" label-width="150px">
<el-form-item label="设备名称:">
<el-select v-model="equipmentName" placeholder="请选择" style="width:350px" @change="changeEquipmentType($event)">
<el-option v-for="item in EquipmentList" :key="item.id" :label="item.name" :value="item.name"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="加油量:">
<el-input v-model="fuel" style="width:350px" placeholder="请输入"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisibleAdd = false"> </el-button>
<el-button type="primary" @click="okAdd"> </el-button>
</span>
</el-dialog>
<el-dialog title="编辑" :visible.sync="dialogVisibleEdit" width="30%" :before-close="handleClose">
<el-form ref="form" :model="form" label-width="150px">
<el-form-item label="设备名称:">
<el-select v-model="equipmentName" placeholder="请选择" style="width:350px" @change="changeEquipmentType($event)">
<el-option v-for="item in EquipmentList" :key="item.id" :label="item.name" :value="item.name"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="加油量:">
<el-input v-model="fuel" style="width:350px" placeholder="请输入"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisibleEdit = false"> </el-button>
<el-button type="primary" @click="okEdit"> </el-button>
</span>
</el-dialog>
</div>
</div>
</template>
<script>
import { getRefuelingRecordList,addRefuelingRecord,editRefuelingRecord,deleteRefuelingRecord,getAllRefuelingRecordList } from '@/assets/js/api/gantryCrane'
export default {
components: {
// diaryMod,
},
data() {
return {
typeList: {
1: '柴油',
2: '汽油'
},
typeList2: {
1: '升降机',
2: '塔吊'
},
projectSn: '',
formInline: {
buildName: ''
},
downloadData: {}, //
tableList: [],
current: 1,
pageSize: -1,
total: 0,
dialogVisibleAdd: false,
dialogVisibleEdit: false,
form: {
name: '',
plateNumber: '',
},
editForm: {
name: '',
plateNumber: '',
},
valueFuel: '',
valueEquipment: '',
fuelTypeId:'',
equipmentId:'',
editId:'',
EquipmentList:[],
equipmentName:'',
fuel:''
}
},
created() {
this.projectSn = this.$store.state.projectSn
this.getListData()
},
methods: {
openAdd(){
this.dialogVisibleAdd = true
this.getEquipmentList()
},
getEquipmentList(){
getAllRefuelingRecordList().then((res) => {
this.EquipmentList = res.result
})
},
changeFuelType(val){
this.fuelType.forEach((item,index,array) => {
if (item.typeName == val) {
this.fuelTypeId = item.id
}
})
},
changeEquipmentType(val){
console.log(val);
console.log(this.EquipmentList);
this.EquipmentList.forEach((item,index,array) => {
if (item.name == val) {
this.equipmentId = item.id
}
})
},
okAdd() {
let data = {
devId: Number(this.equipmentId),
fuelType: this.fuelTypeId,
fuelCharge: Number(this.fuel),
projectSn: this.projectSn
}
addRefuelingRecord(data).then(res => {
if (res.code == 200) {
this.$message.success('新增成功!')
this.getListData()
this.dialogVisibleAdd = false
} else {
this.$message.success('新增失败!')
}
})
},
okEdit() {
this.dialogVisibleEdit = false
let data = {
devId: Number(this.equipmentId),
fuelType: this.fuelTypeId,
fuelCharge: Number(this.fuel),
projectSn: this.projectSn,
id:this.editId
}
editRefuelingRecord(data).then(res => {
if (res.code == 200) {
this.$message.success('编辑成功!')
this.getListData()
} else {
this.$message.success('编辑失败!')
}
})
this.getListData()
},
handleClose(done) {
done()
},
//
getListData() {
let data = {
name: this.formInline.buildName,
projectSn: this.projectSn,
current: this.current,
pageSize: this.pageSize
}
getRefuelingRecordList(data).then(res => {
this.tableList = res.result.records
this.total = res.result.total
})
},
//
onSubmit() {
this.current = 1
this.getListData()
},
//
refreshBtn() {
this.current = 1
this.pageSize = 10
this.formInline = {
buildName: ''
}
this.getListData()
},
//
editBtn(val) {
console.log(val);
this.editForm = { ...val }
this.dialogVisibleEdit = true
this.editId = val.id
this.equipmentName = val.devName
this.fuel = val.fuelCharge
this.getEquipmentList()
},
//
deleteBtn(val) {
let data = {
id: val.id
}
deleteRefuelingRecord(data).then(res => {
if (res.code == 200) {
this.$message.success('删除成功!')
this.getListData()
} else {
this.$message.success('删除失败!')
}
})
},
//
handleSizeChange(val) {
this.current = val
this.pageSize = 10
this.getListData()
},
//
handleCurrentChange(val) {
this.current = val
this.pageSize = 10
this.getListData()
}
}
}
</script>
<style lang="less" scoped>
.diaryList {
width: 100%;
height: 100%;
}
.title {
padding: 20px 15px 0;
width: 100%;
}
.content {
margin-top: 15px;
height: calc(100% - 93px);
}
.table_wrap {
width: 100%;
height: 100%;
padding: 15px 20px;
}
table {
border-collapse: collapse;
}
table,
td,
th {
border: 1px solid #dde5f9;
text-align: left;
// height: 35px;
// line-height: 35px;
padding: 10px 15px;
}
.setTd {
width: 25%;
}
.site {
text-align: right;
}
.site2 {
text-align: center;
}
.ellipsis {
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
</style>

View File

@ -0,0 +1,332 @@
<template>
<div class="diaryList">
<div class="whiteBlock title">
<el-form :inline="true" size="medium" :model="formInline" class="demo-form-inline">
<el-form-item label="设备名称">
<el-input v-model="formInline.buildName" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit" plain>查询</el-button>
<el-button type="primary" @click="refreshBtn" plain>刷新</el-button>
<el-button type="primary" @click="dialogVisibleAdd = true" plain>新增</el-button>
</el-form-item>
</el-form>
</div>
<div class="content whiteBlock">
<vue-scroll style="height: 100%">
<el-table class="tables" :data="tableList">
<el-table-column prop="name" label="设备名称" align="center"></el-table-column>
<el-table-column prop="plateNumber" label="车牌号" align="center"></el-table-column>
<el-table-column prop="type" label="设备类型" align="center">
<template slot-scope="scope">
<div>{{ typeList2[`${scope.row.type}`] }}</div>
</template>
</el-table-column>
<el-table-column label="燃油类型" align="center">
<template slot-scope="scope">
<div>{{ typeList[`${scope.row.fuelType}`] }}</div>
</template>
</el-table-column>
<el-table-column prop="updateTime" label="更新时间" align="center"></el-table-column>
<el-table-column label="操作" align="center" width="250">
<template slot-scope="scope">
<div class="tableBtns">
<div @click="editBtn(scope.row)" class="operationText">
<i class="el-icon-edit" style="color: #8dacfa; font-size: 16px; margin-right: 2px"></i>
<span>编辑</span>
</div>
<div @click="deleteBtn(scope.row)" class="operationText">
<i class="el-icon-delete" style="color: #eb5760; font-size: 16px; margin-right: 2px"></i>
<span>删除</span>
</div>
</div>
</template>
</el-table-column>
</el-table>
<el-pagination
class="pagerBox"
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="current"
:page-sizes="$store.state.PAGESIZRS"
:page-size="pageSize"
layout="total, sizes, prev, pager, next"
:total="Number(total)"
></el-pagination>
</vue-scroll>
<el-dialog title="新增" :visible.sync="dialogVisibleAdd" width="30%" :before-close="handleClose">
<el-form ref="form" :model="form" label-width="150px">
<el-form-item label="设备名称:">
<el-input v-model="form.name" style="width:350px" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="车牌号:">
<el-input v-model="form.plateNumber" style="width:350px" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="燃油类型:">
<el-select v-model="valueFuel" placeholder="请选择" style="width:350px" @change="changeFuelType($event)">
<el-option v-for="item in fuelType" :key="item.id" :label="item.typeName" :value="item.typeName"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="设备类型:">
<el-select v-model="valueEquipment" placeholder="请选择" style="width:350px" @change="changeEquipmentType($event)">
<el-option v-for="item in equipmentType" :key="item.id" :label="item.typeName" :value="item.typeName"> </el-option>
</el-select>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisibleAdd = false"> </el-button>
<el-button type="primary" @click="okAdd"> </el-button>
</span>
</el-dialog>
<el-dialog title="编辑" :visible.sync="dialogVisibleEdit" width="30%" :before-close="handleClose">
<el-form ref="form" :model="form" label-width="150px">
<el-form-item label="设备名称:">
<el-input v-model="editForm.name" style="width:350px" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="车牌号:">
<el-input v-model="editForm.plateNumber" style="width:350px" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item label="燃油类型:">
<el-select v-model="valueFuel" placeholder="请选择" style="width:350px" @change="changeFuelType($event)">
<el-option v-for="item in fuelType" :key="item.id" :label="item.label" :value="item.typeName"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="设备类型:">
<el-select v-model="valueEquipment" placeholder="请选择" style="width:350px" @change="changeEquipmentType($event)">
<el-option v-for="item in equipmentType" :key="item.id" :label="item.label" :value="item.typeName"> </el-option>
</el-select>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisibleEdit = false"> </el-button>
<el-button type="primary" @click="okEdit"> </el-button>
</span>
</el-dialog>
</div>
</div>
</template>
<script>
import { getBicarbonList, addBicarbon, editBicarbon, deleteBicarbon } from '@/assets/js/api/gantryCrane'
export default {
components: {
// diaryMod,
},
data() {
return {
typeList: {
1: '柴油',
2: '汽油'
},
typeList2: {
1: '升降机',
2: '塔吊'
},
projectSn: '',
formInline: {
buildName: ''
},
downloadData: {}, //
tableList: [],
current: 1,
pageSize: -1,
total: 0,
dialogVisibleAdd: false,
dialogVisibleEdit: false,
form: {
name: '',
plateNumber: '',
},
editForm: {
name: '',
plateNumber: '',
},
fuelType: [
{ id: 1, typeName: '柴油' },
{ id: 2, typeName: '汽油' }
],
equipmentType: [
{ id: 1, typeName: '升降机' },
{ id: 2, typeName: '塔吊' }
],
valueFuel: '',
valueEquipment: '',
fuelTypeId:'',
equipmentTypeId:'',
editId:''
}
},
created() {
this.projectSn = this.$store.state.projectSn
this.getListData()
},
methods: {
changeFuelType(val){
this.fuelType.forEach((item,index,array) => {
if (item.typeName == val) {
this.fuelTypeId = item.id
}
})
},
changeEquipmentType(val){
this.equipmentType.forEach((item,index,array) => {
if (item.typeName == val) {
this.equipmentTypeId = item.id
}
})
},
okAdd() {
this.dialogVisibleAdd = false
let data = {
name: this.form.name,
fuelType: this.fuelTypeId,
plateNumber: this.form.plateNumber,
type: this.equipmentTypeId,
projectSn: this.projectSn
}
addBicarbon(data).then(res => {
if (res.code == 200) {
this.$message.success('新增成功!')
this.getListData()
} else {
this.$message.success('新增失败!')
}
})
},
okEdit() {
this.dialogVisibleEdit = false
let data = {
name: this.editForm.name,
fuelType:this.fuelTypeId,
plateNumber: this.editForm.plateNumber,
type: this.equipmentTypeId,
projectSn: this.projectSn,
id:this.editId
}
editBicarbon(data).then(res => {
if (res.code == 200) {
this.$message.success('编辑成功!')
this.getListData()
} else {
this.$message.success('编辑失败!')
}
})
this.getListData()
},
handleClose(done) {
done()
},
//
getListData() {
let data = {
name: this.formInline.buildName,
projectSn: this.projectSn,
current: this.current,
pageSize: this.pageSize
}
getBicarbonList(data).then(res => {
this.tableList = res.result.records
this.total = res.result.total
})
},
//
onSubmit() {
this.current = 1
this.getListData()
},
//
refreshBtn() {
this.current = 1
this.pageSize = 10
this.formInline = {
buildName: ''
}
this.getListData()
},
//
editBtn(val) {
console.log(val);
this.editForm = { ...val }
this.dialogVisibleEdit = true
this.editId = val.id
this.valueFuel = this.typeList[val.fuelType]
this.valueEquipment = this.typeList2[val.type]
},
//
deleteBtn(val) {
let data = {
id: val.id
}
deleteBicarbon(data).then(res => {
if (res.code == 200) {
this.$message.success('删除成功!')
this.getListData()
} else {
this.$message.success('删除失败!')
}
})
},
//
handleSizeChange(val) {
this.current = val
this.pageSize = 10
this.getListData()
},
//
handleCurrentChange(val) {
this.current = val
this.pageSize = 10
this.getListData()
}
}
}
</script>
<style lang="less" scoped>
.diaryList {
width: 100%;
height: 100%;
}
.title {
padding: 20px 15px 0;
width: 100%;
}
.content {
margin-top: 15px;
height: calc(100% - 93px);
}
.table_wrap {
width: 100%;
height: 100%;
padding: 15px 20px;
}
table {
border-collapse: collapse;
}
table,
td,
th {
border: 1px solid #dde5f9;
text-align: left;
// height: 35px;
// line-height: 35px;
padding: 10px 15px;
}
.setTd {
width: 25%;
}
.site {
text-align: right;
}
.site2 {
text-align: center;
}
.ellipsis {
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
</style>

View File

@ -0,0 +1,307 @@
<template>
<div class="diaryList">
<div class="whiteBlock title">
<el-form :inline="true" size="medium" :model="formInline" class="demo-form-inline">
<el-form-item label="设备名称">
<el-input v-model="formInline.buildName" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit" plain>查询</el-button>
<el-button type="primary" @click="refreshBtn" plain>刷新</el-button>
<el-button type="primary" @click="openAdd" plain>新增</el-button>
</el-form-item>
</el-form>
</div>
<div class="content whiteBlock">
<vue-scroll style="height: 100%">
<el-table class="tables" :data="tableList">
<el-table-column prop="id" align="center" label="设备id"></el-table-column>
<el-table-column prop="devName" align="center" label="设备名称"></el-table-column>
<el-table-column prop="generatingCapacity" align="center" label="发电量/度"></el-table-column>
<!-- <el-table-column prop="uploadDate" label="上传时间" align="center"></el-table-column> -->
<el-table-column label="操作" align="center" width="250">
<template slot-scope="scope">
<div class="tableBtns">
<div @click="editBtn(scope.row)" class="operationText">
<i class="el-icon-edit" style="color: #8dacfa; font-size: 16px; margin-right: 2px"></i>
<span>编辑</span>
</div>
<div @click="deleteBtn(scope.row)" class="operationText">
<i class="el-icon-delete" style="color: #eb5760; font-size: 16px; margin-right: 2px"></i>
<span>删除</span>
</div>
</div>
</template>
</el-table-column>
</el-table>
<el-pagination
class="pagerBox"
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="current"
:page-sizes="$store.state.PAGESIZRS"
:page-size="pageSize"
layout="total, sizes, prev, pager, next"
:total="Number(total)"
></el-pagination>
</vue-scroll>
<el-dialog title="新增" :visible.sync="dialogVisibleAdd" width="30%" :before-close="handleClose">
<el-form ref="form" :model="form" label-width="150px">
<el-form-item label="设备名称:">
<el-select v-model="value" placeholder="请选择" style="width:350px" @change="changeName($event)">
<el-option v-for="item in options" :key="item.id" :label="item.name" :value="item.name"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="发电量(度)">
<el-input v-model="form.generatingCapacity" placeholder="请输入" style="width:350px"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="noAdd"> </el-button>
<el-button type="primary" @click="okAdd"> </el-button>
</span>
</el-dialog>
<el-dialog title="编辑" :visible.sync="dialogVisibleEdit" width="30%" :before-close="handleClose">
<el-form ref="form" :model="form" label-width="150px">
<el-form-item label="设备名称:">
<el-select v-model="value" placeholder="请选择" style="width:350px" @change="changeName($event)">
<el-option v-for="item in options" :key="item.id" :label="item.name" :value="item.name"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="发电量(度)">
<el-input v-model="editForm.generatingCapacity" style="width:350px"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisibleEdit = false"> </el-button>
<el-button type="primary" @click="okEdit"> </el-button>
</span>
</el-dialog>
</div>
</div>
</template>
<script>
import {
getRealTimeList,
addRealTimPhotovoltaoc,
editRealTimPhotovoltaoc,
deleteRealTimPhotovoltaoc,
getPhotovltaocName
} from '@/assets/js/api/gantryCrane'
export default {
components: {
// diaryMod,
},
data() {
return {
projectSn: '',
formInline: {
buildName: ''
},
downloadData: {}, //
tableList: [],
current: 1,
pageSize: -1,
total: 0,
dialogVisibleAdd: false,
dialogVisibleEdit: false,
form: {
devId: '',
generatingCapacity: ''
},
editForm: {
devId: '',
generatingCapacity: ''
},
options: [],
value: '',
editId:''
}
},
created() {
this.projectSn = this.$store.state.projectSn
this.getListData()
},
methods: {
changeName(val) {
this.options.forEach((item, index, array) => {
if (item.name == val) {
console.log(item);
this.form.devId = item.id
this.editForm.devId = item.id
}
})
console.log(this.editForm.devId);
},
openAdd() {
this.dialogVisibleAdd = true
getPhotovltaocName().then(res => {
this.options = res.result
})
},
noAdd() {
this.dialogVisibleAdd = false
this.form = {
devId: '',
generatingCapacity: ''
}
},
okAdd() {
this.dialogVisibleAdd = false
let data = {
devId: this.form.devId,
generatingCapacity: this.form.generatingCapacity,
projectSn: this.projectSn
}
addRealTimPhotovoltaoc(data).then(res => {
if (res.code == 200) {
this.$message.success('新增成功!')
this.form = {
devId: '',
generatingCapacity: ''
}
this.value = ''
this.getListData()
} else {
this.$message.success('新增失败!')
}
})
},
okEdit() {
this.dialogVisibleEdit = false
let data = {
id:this.editId,
devId: this.editForm.devId,
generatingCapacity: this.editForm.generatingCapacity,
projectSn: this.projectSn
}
editRealTimPhotovoltaoc(data).then(res => {
if (res.code == 200) {
this.$message.success('编辑成功!')
this.getListData()
} else {
this.$message.success('编辑失败!')
}
})
this.getListData()
},
handleClose(done) {
done()
},
//
getListData() {
let data = {
// name: this.formInline.buildName,
projectSn: this.projectSn,
current: this.current,
pageSize: this.pageSize
}
getRealTimeList(data).then(res => {
this.tableList = res.result.records
this.total = res.result.total
})
},
//
onSubmit() {
this.current = 1
this.getListData()
},
//
refreshBtn() {
this.current = 1
this.pageSize = 10
this.formInline = {
buildName: ''
}
this.getListData()
},
//
editBtn(val) {
console.log(val);
this.editForm = { ...val }
this.value = val.devName
this.dialogVisibleEdit = true
this.editId = val.id
getPhotovltaocName().then(res => {
this.options = res.result
})
},
//
deleteBtn(val) {
let data = {
id: val.id
}
deleteRealTimPhotovoltaoc(data).then(res => {
if (res.code == 200) {
this.$message.success('删除成功!')
this.getListData()
} else {
this.$message.success('删除失败!')
}
})
},
//
handleSizeChange(val) {
this.current = val
this.pageSize = 10
this.getListData()
},
//
handleCurrentChange(val) {
this.current = val
this.pageSize = 10
this.getListData()
}
}
}
</script>
<style lang="less" scoped>
.diaryList {
width: 100%;
height: 100%;
}
.title {
padding: 20px 15px 0;
width: 100%;
}
.content {
margin-top: 15px;
height: calc(100% - 93px);
}
.table_wrap {
width: 100%;
height: 100%;
padding: 15px 20px;
}
table {
border-collapse: collapse;
}
table,
td,
th {
border: 1px solid #dde5f9;
text-align: left;
// height: 35px;
// line-height: 35px;
padding: 10px 15px;
}
.setTd {
width: 25%;
}
.site {
text-align: right;
}
.site2 {
text-align: center;
}
.ellipsis {
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
</style>

View File

@ -0,0 +1,361 @@
<template>
<div class="diaryList">
<div class="whiteBlock title">
<el-form :inline="true" size="medium" :model="formInline" class="demo-form-inline">
<el-form-item label="设备名称">
<el-input v-model="formInline.buildName" placeholder="请输入"></el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmit" plain>查询</el-button>
<el-button type="primary" @click="refreshBtn" plain>刷新</el-button>
<el-button type="primary" @click="dialogVisibleAdd = true" plain>新增</el-button>
</el-form-item>
</el-form>
</div>
<div class="content whiteBlock">
<vue-scroll style="height: 100%">
<el-table class="tables" :data="tableList">
<el-table-column prop="name" label="设备名称" align="center"></el-table-column>
<el-table-column prop="hourGeneratingCapacity" label="每小时发电量/度" align="center"></el-table-column>
<el-table-column prop="attenuationRate" label="衰减率" align="center"></el-table-column>
<el-table-column prop="isc" label="短路电流" align="center"></el-table-column>
<el-table-column prop="ocv" label="开路电压" align="center"></el-table-column>
<el-table-column prop="modelNumber" align="center" label="型号"></el-table-column>
<el-table-column prop="standardPower" label="标准功率" align="center"></el-table-column>
<el-table-column prop="specification" label="规格" align="center"></el-table-column>
<el-table-column prop="size" label="尺寸" align="center"></el-table-column>
<el-table-column prop="standardOperatingCurrent" label="标准工作电流" align="center"></el-table-column>
<el-table-column prop="standardOperatingVoltage" label="标准工作电压" align="center"></el-table-column>
<el-table-column prop="createTime" label="创建时间" align="center" show-overflow-tooltip></el-table-column>
<el-table-column prop="updateTime" label="更新时间" align="center" show-overflow-tooltip></el-table-column>
<el-table-column label="操作" align="center" width="170">
<template slot-scope="scope">
<div class="tableBtns">
<div @click="editBtn(scope.row)" class="operationText">
<i class="el-icon-edit" style="color: #8dacfa; font-size: 16px; margin-right: 2px"></i>
<span>编辑</span>
</div>
<div @click="deleteBtn(scope.row)" class="operationText">
<i class="el-icon-delete" style="color: #eb5760; font-size: 16px; margin-right: 2px"></i>
<span>删除</span>
</div>
</div>
</template>
</el-table-column>
</el-table>
<el-pagination
class="pagerBox"
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="current"
:page-sizes="$store.state.PAGESIZRS"
:page-size="pageSize"
layout="total, sizes, prev, pager, next"
:total="Number(total)"
></el-pagination>
</vue-scroll>
<el-dialog title="新增" :visible.sync="dialogVisibleAdd" width="30%" :before-close="handleClose">
<el-form ref="form" :model="form" label-width="150px">
<el-form-item label="设备名称:">
<el-input v-model="form.name" placeholder="请输入" style="width:350px"></el-input>
</el-form-item>
<el-form-item label="衰减率(%)">
<el-input v-model="form.attenuationRate" placeholder="请输入" style="width:350px"></el-input>
</el-form-item>
<el-form-item label="每小时发电量(度)">
<el-input v-model="form.hourGeneratingCapacity" placeholder="请输入" style="width:350px"></el-input>
</el-form-item>
<el-form-item label="短路电流:">
<el-input v-model="form.isc" placeholder="请输入" style="width:350px"></el-input>
</el-form-item>
<el-form-item label="型号:">
<el-input v-model="form.modelNumber" placeholder="请输入" style="width:350px"></el-input>
</el-form-item>
<el-form-item label="开路电压:">
<el-input v-model="form.ocv" placeholder="请输入" style="width:350px"></el-input>
</el-form-item>
<el-form-item label="尺寸:">
<el-input v-model="form.size" placeholder="请输入" style="width:350px"></el-input>
</el-form-item>
<el-form-item label="规格:">
<el-input v-model="form.specification" placeholder="请输入" style="width:350px"></el-input>
</el-form-item>
<el-form-item label="标准工作电流:">
<el-input v-model="form.standardOperatingCurrent" placeholder="请输入" style="width:350px"></el-input>
</el-form-item>
<el-form-item label="标准工作电压:">
<el-input v-model="form.standardOperatingVoltage" placeholder="请输入" style="width:350px"></el-input>
</el-form-item>
<el-form-item label="标准功率:">
<el-input v-model="form.standardPower" placeholder="请输入" style="width:350px"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisibleAdd = false"> </el-button>
<el-button type="primary" @click="okAdd"> </el-button>
</span>
</el-dialog>
<el-dialog title="编辑" :visible.sync="dialogVisibleEdit" width="30%" :before-close="handleClose">
<el-form ref="form" :model="form" label-width="150px">
<el-form-item label="设备名称:">
<el-input v-model="editForm.name" style="width:350px"></el-input>
</el-form-item>
<el-form-item label="衰减率(%)">
<el-input v-model="editForm.attenuationRate" style="width:350px"></el-input>
</el-form-item>
<el-form-item label="每小时发电量(度)">
<el-input v-model="editForm.hourGeneratingCapacity" style="width:350px"></el-input>
</el-form-item>
<el-form-item label="短路电流:">
<el-input v-model="editForm.isc" style="width:350px"></el-input>
</el-form-item>
<el-form-item label="型号:">
<el-input v-model="editForm.modelNumber" style="width:350px"></el-input>
</el-form-item>
<el-form-item label="开路电压:">
<el-input v-model="editForm.ocv" style="width:350px"></el-input>
</el-form-item>
<el-form-item label="尺寸:">
<el-input v-model="editForm.size" style="width:350px"></el-input>
</el-form-item>
<el-form-item label="规格:">
<el-input v-model="editForm.specification" style="width:350px"></el-input>
</el-form-item>
<el-form-item label="标准工作电流:">
<el-input v-model="editForm.standardOperatingCurrent" style="width:350px"></el-input>
</el-form-item>
<el-form-item label="标准工作电压:">
<el-input v-model="editForm.standardOperatingVoltage" style="width:350px"></el-input>
</el-form-item>
<el-form-item label="标准功率:">
<el-input v-model="editForm.standardPower" style="width:350px"></el-input>
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisibleEdit = false"> </el-button>
<el-button type="primary" @click="okEdit"> </el-button>
</span>
</el-dialog>
</div>
</div>
</template>
<script>
import { getPhotovoltaocList, addPhotovoltaoc, editPhotovoltaoc, deletePhotovoltaoc } from '@/assets/js/api/gantryCrane'
export default {
components: {
// diaryMod,
},
data() {
return {
projectSn: '',
formInline: {
buildName: ''
},
downloadData: {}, //
tableList: [],
current: 1,
pageSize: 10,
total: 0,
dialogVisibleAdd: false,
dialogVisibleEdit: false,
form: {
attenuationRate: '',
name: '',
hourGeneratingCapacity: '',
isc:'',
modelNumber:'',
ocv:'',
size:'',
specification:'',
standardOperatingCurrent:'',
standardOperatingVoltage:'',
standardPower:'',
},
editForm: {
attenuationRate: '',
name: '',
hourGeneratingCapacity: '',
isc:'',
modelNumber:'',
ocv:'',
size:'',
specification:'',
standardOperatingCurrent:'',
standardOperatingVoltage:'',
standardPower:'',
}
}
},
created() {
this.projectSn = this.$store.state.projectSn
this.getListData()
},
methods: {
okAdd() {
this.dialogVisibleAdd = false
let data = {
projectSn: this.projectSn,
name: this.form.name,
attenuationRate: this.form.attenuationRate,
hourGeneratingCapacity: this.form.hourGeneratingCapacity,
id: this.form.id,
isc:this.form.isc,
modelNumber:this.form.modelNumber,
ocv:this.form.ocv,
size:this.form.size,
specification:this.form.specification,
standardOperatingCurrent:this.form.standardOperatingCurrent,
standardOperatingVoltage:this.form.standardOperatingVoltage,
standardPower:this.form.standardPower,
}
addPhotovoltaoc(data).then(res => {
if (res.code == 200) {
this.$message.success('新增成功!')
this.getListData()
} else {
this.$message.success('新增失败!')
}
})
},
okEdit() {
this.dialogVisibleEdit = false
let data = {
projectSn: this.projectSn,
name: this.editForm.name,
attenuationRate: this.editForm.attenuationRate,
hourGeneratingCapacity: this.editForm.hourGeneratingCapacity,
id: this.editForm.id,
isc:this.editForm.isc,
modelNumber:this.editForm.modelNumber,
ocv:this.editForm.ocv,
size:this.editForm.size,
specification:this.editForm.specification,
standardOperatingCurrent:this.editForm.standardOperatingCurrent,
standardOperatingVoltage:this.editForm.standardOperatingVoltage,
standardPower:this.editForm.standardPower,
}
editPhotovoltaoc(data).then(res => {
if (res.code == 200) {
this.$message.success('编辑成功!')
this.getListData()
} else {
this.$message.success('编辑失败!')
}
})
this.getListData()
},
handleClose(done) {
done()
},
//
getListData() {
let data = {
name: this.formInline.buildName,
projectSn: this.projectSn,
current: this.current,
pageSize: this.pageSize,
}
getPhotovoltaocList(data).then(res => {
this.tableList = res.result.records
this.total = res.result.total
})
},
//
onSubmit() {
this.current = 1
this.getListData()
},
//
refreshBtn() {
this.current = 1
this.pageSize = 10
this.formInline = {
buildName: ''
}
this.getListData()
},
//
editBtn(val) {
this.editForm = { ...val }
this.dialogVisibleEdit = true
console.log(val)
},
//
deleteBtn(val) {
let data = {
id: val.id
}
deletePhotovoltaoc(data).then(res => {
if (res.code == 200) {
this.$message.success('删除成功!')
this.getListData()
} else {
this.$message.success('删除失败!')
}
})
},
//
handleSizeChange(val) {
this.current = val
this.pageSize = 10
this.getListData()
},
//
handleCurrentChange(val) {
this.current = val
this.pageSize = 10
this.getListData()
}
}
}
</script>
<style lang="less" scoped>
.diaryList {
width: 100%;
height: 100%;
}
.title {
padding: 20px 15px 0;
width: 100%;
}
.content {
margin-top: 15px;
height: calc(100% - 93px);
}
.table_wrap {
width: 100%;
height: 100%;
padding: 15px 20px;
}
table {
border-collapse: collapse;
}
table,
td,
th {
border: 1px solid #dde5f9;
text-align: left;
// height: 35px;
// line-height: 35px;
padding: 10px 15px;
}
.setTd {
width: 25%;
}
.site {
text-align: right;
}
.site2 {
text-align: center;
}
.ellipsis {
width: 100%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
</style>