src/App.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/HCollapse.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/SquareBox.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/libs/common.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/views/monitor/history.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/App.vue
@@ -24,7 +24,7 @@ <div class="blade-card-mask-before"></div> <div class="blade-card-content" style="text-align: right"> <div class="user-info"> <Dropdown> <!-- <Dropdown> <a href="javascript:void(0)"> <Avatar style="background-color: #87d068" icon="ios-person" /> <span class="user-name">hdw</span> @@ -33,7 +33,7 @@ <DropdownItem>密码修改</DropdownItem> <DropdownItem>退出系统</DropdownItem> </DropdownMenu> </Dropdown> </Dropdown> --> </div> </div> </div> @@ -90,6 +90,7 @@ import HeaderDecorateLeft from './components/HeaderDecorateLeft' import HeaderDecorateRight from './components/HeaderDecorateRight' import HTabPane from './components/HTabPane' import {ajax} from './libs/common' export default { name: 'app', components: { @@ -170,8 +171,21 @@ break; } } } } }, searchUsername: function() { var self = this; ajax({ url: 'User_infAction!searchUname', data: null, success: function(res) { console.log(res); } }); }, }, mounted() { //this.searchUsername(); }, } </script> <style scoped> src/components/HCollapse.vue
New file @@ -0,0 +1,105 @@ <template> <square-box minHeight="300px" title="电池充电记录"> <div class="collapse-content" style="height: 300px; margin-left: -12px; margin-right: -12px;"> <Collapse theme="dark"> <Panel v-for="(obj, key) in data" :key="key"> {{obj.name}} <Badge show-zero :count="obj.items.length"></Badge> <div slot="content"> <ul v-if="obj.items.length" class="item-content"> <li v-for="(item, item_key) in obj.items" :key="item_key" @click="handleClick(item, key, item_key)"> <a>{{item.txt}}</a> </li> </ul> <div v-else class="no-item item-content">暂无{{obj.name}}</div> </div> </Panel> </Collapse> </div> </square-box> </template> <script> import SquareBox from './SquareBox' import HList from './HList' import $ from 'jquery' export default { components: { SquareBox }, props:{ data: { type: Array, default() { return [] } }, max: { type: Number, default: 99 } }, methods: { getItemsLen: function(items) { var len, result = items; if(len > this.max) { result = this.max+'+'; } return result; }, handleClick: function(data, key, item_key) { var root = $(this.$el); var $lis = root.find('.item-content').eq(key).find('li'); // 根据key和item_key定位道点击的元素 var $li = $lis.eq(item_key); if(!$li.hasClass('item-active')) { $lis.removeClass('item-active'); $li.addClass('item-active'); this.$emit('on-select-change', data) } }, }, mounted() { }, } </script> <style scoped> .collapse-content { padding: 0 8px; overflow-y: auto; } .ivu-badge { position: absolute; top: 10px; right: 16px; } .no-item { font-weight: bold; text-align: center; } .item-content li { list-style: none; } .item-content li:hover { background-color: #DDDDDD; } .item-content li.item-active { background-color: #2db7f5; } .item-content a{ -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; display: block; text-indent: .5em; line-height: 32px; color: #000000; } </style> src/components/SquareBox.vue
@@ -37,7 +37,7 @@ showTitle: { type: Boolean, default: true } }, }, data() { return { @@ -45,7 +45,7 @@ minHeight: this.minHeight } } } }, } </script> <style scoped> @@ -76,6 +76,10 @@ .square-box-content { margin: 15px; } .square-box-content.no-margin{ margin-left: 0; margin-right: 0; } .square-box-left-top { position: absolute; left: 0; src/libs/common.js
@@ -1,6 +1,6 @@ import $ from 'jquery'; const CORS= 'http://localhost:8080/LD_9/'; // 开启跨域请求(调试时开启) //const CORS=''; // 关闭跨域请求(发布时开启) // const CORS=''; // 关闭跨域请求(发布时开启) //定义计时器 function Interval() { src/views/monitor/history.vue
@@ -8,11 +8,14 @@ </science-card> </div> <div class="view-layout-middle"> <science-card width="100%" height="100%"> <square-box style="margin: 8px" minHeight="400px" title="充放电状态" :show-title=false> <home-state-list></home-state-list> </square-box> </science-card> <h-collapse :data="records" @on-select-change="recordSelect" v-show="states.fbs"></h-collapse> <square-box v-show="states.ld9"> </square-box> </div> <div class="view-layout-right"> <science-card width="100%" height="100%"> @@ -28,29 +31,154 @@ import HomeTree from "../../components/HomeTree" import SquareBox from "../../components/SquareBox" import HomeStateList from "../../components/HomeStateList" import HCollapse from "../../components/HCollapse" import {ajax} from "../../libs/common" export default { components: { ScienceCard, HomeTree, SquareBox, HomeStateList HomeStateList, HCollapse, }, data() { return { batt: '', states: { fbs: true, ld9: false, }, testList:{ active: 1, data:[] } }, records: [ { name: '核容放电', items: [] }, { name: '监测放电', items: [] }, { name: '核容充电', items: [] }, { name: '监测充电', items: [] } ] } }, methods: { handlerSelectChange: function(item) { if(item.type == 'group') { console.log(item); if(item && item.type == 'group') { this.batt = item; var isSpecail = this.regFbsId(item.FBSDeviceId); if(isSpecail) { this.states.fbs = false; this.states.ld9 = true; }else { this.states.ld9 = false; this.states.fbs = true; this.searchRecords(item); // 查询电池的充电电记录 } } }, handlerTestList: function(item) { console.log(item); initRecords: function() { var records = this.records; for(var i=0; i<records.length; i++) { var record = records[i]; record.item = []; } }, setRecords: function(nuclearDis, controlDis, nuclearCharge, controlCharge) { this.initRecords(); var records = this.records; this.formaterRecords(records[0].name, nuclearDis); this.formaterRecords(records[1].name, controlDis); this.formaterRecords(records[2].name, nuclearCharge); this.formaterRecords(records[3].name, controlCharge); // console.log(nuclearDis); records[0].items = nuclearDis; records[1].items = controlDis; records[2].items = nuclearCharge; records[3].items = controlCharge; }, formaterRecords: function(title, data) { for(var i=0; i<data.length; i++) { var _data = data[i]; _data.txt = (i+1)+'.'+title+'-'+_data.test_starttime; } }, searchRecords: function(batt) { // 查询充电放电记录 var self = this; var searchParams = { num: batt.FBSDeviceId, BattGroupId: batt.BattGroupId }; // console.log(searchParams); // 查询后台 ajax({ url: 'Batttestdata_infAction_searchBattTestInfDataById', data: 'json='+JSON.stringify(searchParams), success: function(res) { var rs = JSON.parse(res.result); self.initRecords(); // 初始化充放电记录 var nuclearDis = []; // 核容放电 var controlDis = []; // 监测放电 var nuclearCharge = []; // 核容充电 var controlCharge = []; // 监测充电 if(rs.code == 1) { var data = rs.data; for(var i=0; i<data.length; i++) { var _data = data[i]; if(_data.test_type == 3) { if(_data.test_starttype == 3) { nuclearDis.push(_data); }else { controlDis.push(_data); } }else if(_data.test_type == 2) { if(_data.test_starttype == 3) { nuclearCharge.push(_data); }else { controlCharge.push(_data); } } } } self.setRecords(nuclearDis, controlDis, nuclearCharge, controlCharge); } }); }, recordSelect: function(record) { if(record) { var searchParams = { BattGroupId: record.BattGroupId, test_record_count: record.test_record_count, }; ajax({ url: 'BatttestdataAction!findhistory', data: 'json='+JSON.stringify(searchParams), success: function(res) { var rs = JSON.parse(res.result); if(rs.code == 1) { var data =rs.data; console.log(data); } } }); console.log(searchParams); } }, regFbsId: function(id) { var rs = true; var pattern = /^40190/; rs = pattern.test(id); return rs; } } } @@ -68,6 +196,8 @@ .view-layout-middle { float: left; width: 360px; margin-left: 8px; margin-right: 8px; height: 100%; overflow-y: auto; }