| | |
| | | <template> |
| | | <div>历史数据管理</div> |
| | | <flex-layout class=""> |
| | | <!-- <content-Box> --> |
| | | <!-- <div>电池关注管理 显示与隐藏查询条件</div> --> |
| | | <div class="table-layout filter-box-table" slot="header"> |
| | | |
| | | <div class="table-row"> |
| | | <div class="table-cell text-right">维护区:</div> |
| | | <div class="table-cell"> |
| | | <el-select v-model="UDepartment" size="small" placeholder="请选择维护区" @change="queryStationName"> |
| | | <el-option |
| | | v-for="item in UDepartmentList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="table-cell text-right">机房站点:</div> |
| | | <div class="table-cell"> |
| | | <el-select v-model="StationName" size="small" placeholder="请选择机房站点" @change="queryBattGroupId"> |
| | | <el-option |
| | | v-for="item in StationNameList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="table-cell text-right">蓄电池组:</div> |
| | | <div class="table-cell"> |
| | | <el-select v-model="BattGroupId" size="small" placeholder="请选择蓄电池组"> |
| | | <el-option |
| | | v-for="item in BattGroupIdList" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | <div class="table-row"> |
| | | <div class="table-cell text-right">电池测试记录:</div> |
| | | <div class="table-cell"> |
| | | <el-select v-model="test_type" size="small" placeholder="请选择电池测试记录" @change="typeSelectChange(test_type)"> |
| | | <el-option value="3" label="有放电记录"></el-option> |
| | | <el-option value="2" label="有充电记录"></el-option> |
| | | <el-option value="3000" label="有放电或充电记录"></el-option> |
| | | <el-option value="9" label="有在线监测记录"></el-option> |
| | | <el-option value="5000" label="有电阻/电导记录"></el-option> |
| | | </el-select> |
| | | </div> |
| | | <div class="table-cell text-right">操作记录时间段:</div> |
| | | <div class="table-cell"> |
| | | <el-date-picker v-model="startDrsj" size="small" class="time_box" :picker-options="pickerOptions0" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"> </el-date-picker> |
| | | - <el-date-picker v-model="endDrsj" size="small" class="time_box" :picker-options="pickerOptions1" type="date" placeholder="选择日期" value-format="yyyy-MM-dd"> </el-date-picker> |
| | | </div> |
| | | <div class="table-cell text-right">放电类型:</div> |
| | | <div class="table-cell"> |
| | | <el-select v-model="test_starttype" size="small" placeholder="请选择放电类型" :disabled="test_type == '9'|| test_type == '5000'"> |
| | | <el-option value="0" label="全部 (共3种)"></el-option> |
| | | <el-option value="1" label="停电放电"></el-option> |
| | | <el-option value="2" label="假负载放电"></el-option> |
| | | <el-option value="3" label="节能放电"></el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="flex-page-content"> |
| | | <!-- 表单 --> |
| | | <el-table border size="small" :data="table.datas" height="100%" class="tableCent"> |
| | | <el-table-column |
| | | v-for="header in table.headers" |
| | | :key="header.prop" |
| | | :prop="header.prop" |
| | | :label="header.label" |
| | | :width="header.width" |
| | | :show-overflow-tooltip="true" |
| | | align="center" |
| | | ></el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <!-- 底部 --> |
| | | <div class="flex-page-footer" slot="footer"> |
| | | <!-- 底部分页 --> |
| | | <div class="el-pagination-btns"> |
| | | <el-button type="primary" round size="mini" @click="querySubmit" icon="el-icon-search">查询</el-button> |
| | | <!-- <el-button type="primary" round size="mini" icon="el-icon-wallet">导出</el-button> --> |
| | | <!-- <el-button type="primary" round size="mini" icon="el-icon-wallet">表格选项</el-button> --> |
| | | </div> |
| | | <el-pagination |
| | | class="pagess" |
| | | :current-page="pageCurr" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | :page-sizes="[10, 20, 30, 50, 100]" |
| | | :page-size="pageSize" |
| | | layout="total, sizes, prev, pager, next, jumper" |
| | | :total="total" |
| | | ></el-pagination> |
| | | </div> |
| | | </flex-layout> |
| | | </template> |
| | | |
| | | <script> |
| | | import { searchProvince } from '../../assets/js/api' |
| | | import { computerSite , storageBattery } from '../../assets/js/dataAdmian/batteryMager.js' |
| | | import { dataSeachroms } from '../../assets/js/dataAdmian/dataAmian.js' |
| | | import { GetMonomerCap,GetHourRate} from "../../assets/js/tools"; |
| | | export default { |
| | | components: { |
| | | |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | test_type:'3', |
| | | startDrsj:'2000-01-01', |
| | | endDrsj:'2020-09-23', |
| | | test_starttype:'0', |
| | | pickerOptions0: { |
| | | disabledDate: (time) => { |
| | | let vm = this; |
| | | if (vm.endDrsj) { |
| | | return new Date(time.getTime()) > new Date(vm.endDrsj); |
| | | } else { |
| | | // return time.getTime() > Date.now(); |
| | | } |
| | | } |
| | | }, |
| | | pickerOptions1: { |
| | | disabledDate: (time) => { |
| | | return new Date(time.getTime()+24*60*60*1000) < new Date(this.startDrsj); |
| | | } |
| | | }, |
| | | total:0, |
| | | pageCurr:1, |
| | | pageSize:10, |
| | | UDepartment:'', |
| | | UDepartmentList:[], |
| | | StationName:'', |
| | | StationNameList:[], |
| | | BattGroupId:'', |
| | | BattGroupIdList:[], |
| | | // MonNum:'', |
| | | // MonNumList:[], |
| | | value: "", |
| | | /* 表单 */ |
| | | table: { |
| | | headers: [ |
| | | { |
| | | prop: "StationName", |
| | | label: "机房名称", |
| | | width: "200" |
| | | }, |
| | | { |
| | | prop: "BattGroupName", |
| | | label: "电池组名称", |
| | | width: "120" |
| | | }, |
| | | { |
| | | prop: "test_starttime", |
| | | label: "测试日期", |
| | | width: "100" |
| | | }, |
| | | { |
| | | prop: "test_starttypeHex", |
| | | label: "测试仪表类型", |
| | | width: "100" |
| | | }, |
| | | { |
| | | prop: "test_curr", |
| | | label: "测试电流", |
| | | width: "" |
| | | }, |
| | | { |
| | | prop: "test_cap", |
| | | label: "测试容量", |
| | | width: "" |
| | | }, |
| | | { |
| | | prop: "sum", |
| | | label: "落后单体数量", |
| | | width: "100" |
| | | }, |
| | | { |
| | | prop: "msgN", |
| | | label: "落后单体编号", |
| | | width: "200" |
| | | }, |
| | | { |
| | | prop: "msgV", |
| | | label: "落后单体电压", |
| | | width: "200" |
| | | }, |
| | | { |
| | | prop: "lowRH", |
| | | label: "平均截止电压", |
| | | width: "100" |
| | | }, |
| | | { |
| | | prop: "min_monnum", |
| | | label: "最低单体编号", |
| | | width: "100" |
| | | }, |
| | | { |
| | | prop: "min_monvol", |
| | | label: "最低单体电压", |
| | | width: "100" |
| | | }, |
| | | { |
| | | prop: "realCap", |
| | | label: "实际容量", |
| | | width: "" |
| | | }, |
| | | { |
| | | prop: "rest", |
| | | label: "剩余容量", |
| | | width: "" |
| | | }, |
| | | { |
| | | prop: "realCappercent", |
| | | label: "容量百分比", |
| | | width: "100" |
| | | }, |
| | | ], |
| | | datas: [] |
| | | } |
| | | }; |
| | | }, |
| | | created() { |
| | | let vm = this; |
| | | vm.queryList(); |
| | | vm.queryWhq(); |
| | | |
| | | }, |
| | | methods: { |
| | | //电池测试记录变化时改变放电类型 |
| | | typeSelectChange:function(value){ |
| | | let vm = this; |
| | | if(value == '9' || value == '5000'){ |
| | | vm.test_starttype = '0'; |
| | | } |
| | | }, |
| | | // 展示数据数量 |
| | | handleSizeChange(val) { |
| | | let vm = this; |
| | | vm.pageSize = val; |
| | | vm.queryList(); |
| | | }, |
| | | // 翻页 |
| | | handleCurrentChange(val) { |
| | | let vm = this; |
| | | vm.pageCurr = val; |
| | | vm.queryList(); |
| | | }, |
| | | // 点击查询 |
| | | querySubmit:function(){ |
| | | let vm = this; |
| | | vm.queryList(); |
| | | }, |
| | | // 查询列表 |
| | | queryList:function(){ |
| | | let vm = this; |
| | | let loading = this.$layer.loading(1); |
| | | let data = { |
| | | page:{ |
| | | pageCurr:vm.pageCurr, |
| | | pageSize:vm.pageSize |
| | | }, |
| | | binf:{ |
| | | StationName1:vm.UDepartment,//维护区 |
| | | StationName:vm.StationName,//机房类型 |
| | | BattGroupId:vm.BattGroupId || 0,//电池组名称ID |
| | | }, |
| | | tdata:{ |
| | | test_type:vm.test_type, |
| | | record_time:vm.startDrsj + ' 00:00:00', |
| | | record_time1:vm.endDrsj + " 23:59:59", |
| | | test_starttype:vm.test_starttype || '0' |
| | | } |
| | | } |
| | | dataSeachroms(data).then((res)=>{ |
| | | let result = JSON.parse(res.data.result); |
| | | // 关闭等待框 |
| | | this.$layer.close(loading); |
| | | if(result.code == 1 || result.length>0){ |
| | | let params = result.map((item,index)=>{ |
| | | if(index == result.length - 1){ |
| | | vm.total = item.data.page.pageAll; |
| | | } |
| | | let obj = {}; |
| | | let binf = item.data.binf; |
| | | let tdata = item.data.tdata |
| | | for(let o in binf){ |
| | | obj[o] = (item.data.binf)[o]; |
| | | } |
| | | for(let j in tdata){ |
| | | obj[j] = (item.data.tdata)[j]; |
| | | } |
| | | |
| | | if(item.smodel.code==1){ |
| | | obj.sum = item.smodel.sum; //落后单体数量 |
| | | obj.msgN = item.smodel.msgN; //落后单体编号 |
| | | obj.msgV = item.smodel.msgV; //落后单体电压 |
| | | obj.lowRH = item.smodel.lowRH.toFixed(3); //平均截止电压 |
| | | }else{ |
| | | obj.sum = '0'; //落后单体数量 |
| | | obj.msgN = ''; //落后单体编号 |
| | | obj.msgV = ''; //落后单体电压 |
| | | obj.lowRH = ''; //平均截止电压 |
| | | } |
| | | let avg_curr = obj.test_timelong>0?obj.test_cap*3600/obj.test_timelong:obj.test_curr; |
| | | let realCap=GetMonomerCap(obj.MonCapStd,GetHourRate(obj.MonCapStd,avg_curr),obj.test_cap,obj.max_monvol,obj.min_monvol,obj.MonVolStd,0); //实际容量 |
| | | let rest=GetMonomerCap(obj.MonCapStd,GetHourRate(obj.MonCapStd,avg_curr),obj.test_cap,obj.max_monvol,obj.min_monvol,obj.MonVolStd,1); //剩余容量 |
| | | obj.realCap = realCap.toFixed(0); |
| | | obj.rest = rest.toFixed(0); |
| | | obj.test_curr = obj.test_curr.toFixed(1); |
| | | obj.test_cap = obj.test_cap.toFixed(1); |
| | | obj.min_monvol = obj.min_monvol.toFixed(3); |
| | | obj.lowRH = Number(obj.lowRH).toFixed(3); |
| | | |
| | | let realCappercent = (realCap*100/obj.MonCapStd).toFixed(0); |
| | | obj.realCappercent = realCappercent + "%"; |
| | | |
| | | return obj |
| | | }) |
| | | vm.table.datas = params; |
| | | }else{ |
| | | vm.table.datas = []; |
| | | |
| | | } |
| | | }).catch((err)=>{ |
| | | |
| | | }) |
| | | }, |
| | | // 查询维护区 |
| | | queryWhq:function(){ |
| | | let vm = this; |
| | | searchProvince().then(res=>{ |
| | | let rs = JSON.parse(res.data.result); |
| | | let params = []; |
| | | if(rs.code == 1) { |
| | | rs.data.forEach(list => { |
| | | let obj = { |
| | | label:list, |
| | | value:list |
| | | } |
| | | params.push(obj); |
| | | }); |
| | | params.unshift({ |
| | | label:'全部 (共'+ params.length + '种)', |
| | | value:'' |
| | | }) |
| | | vm.UDepartmentList = params; |
| | | vm.queryStationName(1); |
| | | } |
| | | |
| | | |
| | | }).catch(err=>{ |
| | | |
| | | }) |
| | | }, |
| | | // 查询机房站点 |
| | | queryStationName:function(){ |
| | | let vm = this; |
| | | let data = { |
| | | UNote:vm.UDepartment |
| | | } |
| | | computerSite(data).then((res)=>{ |
| | | let result = JSON.parse(res.data.result); |
| | | if(result.code == 1){ |
| | | let params = result.data.map(item=>{ |
| | | let obj = { |
| | | label:item, |
| | | value:item |
| | | } |
| | | return obj |
| | | }); |
| | | params.unshift({ |
| | | label:'全部 (共'+ params.length + '种)', |
| | | value:'' |
| | | }) |
| | | vm.StationNameList = params; |
| | | if(params.length>0){ |
| | | vm.StationName = params[0].value; |
| | | } |
| | | vm.queryBattGroupId(); |
| | | } |
| | | |
| | | }).catch((err)=>{ |
| | | |
| | | }) |
| | | }, |
| | | // 蓄电池组 |
| | | queryBattGroupId:function(){ |
| | | let vm = this; |
| | | let data = { |
| | | UNote:vm.UDepartment, |
| | | UName:vm.StationName |
| | | } |
| | | storageBattery(data).then((res)=>{ |
| | | let result = JSON.parse(res.data.result); |
| | | if(result.code == 1){ |
| | | let params = result.data.map((item)=>{ |
| | | let obj = { |
| | | label:item.BattGroupName, |
| | | value:item.BattGroupId |
| | | } |
| | | return obj; |
| | | }) |
| | | params.unshift({ |
| | | label:'全部 (共'+ params.length + '种)', |
| | | value:'' |
| | | }) |
| | | vm.BattGroupIdList = params; |
| | | if(params.length>0){ |
| | | vm.BattGroupId = params[0].value; |
| | | } |
| | | } |
| | | |
| | | }).catch((err)=>{ |
| | | |
| | | }) |
| | | }, |
| | | |
| | | |
| | | |
| | | |
| | | }//methods |
| | | }; |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | <style lang="less" scoped> |
| | | .time_box{ |
| | | width: 48.6%; |
| | | } |
| | | </style> |