<template>
|
<div class="noLoadTest">
|
<div class="page-panel-title">
|
<span class="title-pillar"></span>
|
空载试验
|
</div>
|
<div class="flex-warp">
|
<div class="top" style="width:19%;">
|
<div class="modelItemWarp" style="height:50%">
|
<div class="content">
|
<div class="title">定子温度情况</div>
|
<div class="con">
|
<bar-chart ref="temperatureBar" id="temperatureBar" :show-label="false"></bar-chart>
|
</div>
|
</div>
|
</div>
|
<div class="modelItemWarp" style="height:50%">
|
<div class="content">
|
<div class="title">告警情况</div>
|
<div class="con">
|
<div class="scrollCon">
|
<div class="list">
|
<div class="text">10:30 AFE变频驱动柜功率异常告警</div>
|
<div class="see">查看</div>
|
</div>
|
<div class="list">
|
<div class="text">10:45 受试电机温度异常告警</div>
|
<div class="see">查看</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
<div class="modelItemWarp top" style="width:50%;">
|
<div class="content">
|
<div class="title">试验拓扑图</div>
|
<div class="con" style="position:relative;">
|
<div class="diagram-content">
|
<div class="diagram-stc" ref="static"></div>
|
<div class="diagram-flush" ref="flush"></div>
|
</div>
|
<div class="diagramStatus">
|
<status-module :statusList="diagramStatus"></status-module>
|
</div>
|
<abs-panel class="diagramPanel1" title="直流配电柜" :list="dcBox"></abs-panel>
|
<abs-panel class="diagramPanel2" title="受试电机" :list="underTestMotor"></abs-panel>
|
<div class="thermometerCon">
|
<mw-thermometer :switch="true"></mw-thermometer>
|
受试电机<br>水冷开启
|
</div>
|
|
</div>
|
</div>
|
</div>
|
<div class="modelItemWarp top" style="width:31%;">
|
<div class="content">
|
<div class="title useless-btn-title">
|
实时曲线
|
<div class="useless-btn">
|
<el-button type="primary" size="mini" @click="drawer=true">前置条件设置</el-button>
|
</div>
|
</div>
|
<div class="con">
|
<div class="chartTitle">空载电机电压与高速齿轮关系曲线</div>
|
<div class="lineCon">
|
<double-line id="DoubleLine" ref="DoubleLine"></double-line>
|
</div>
|
<div class="chartTitle">高速齿轮转速</div>
|
<div class="chartTitle mw-process-warp">
|
<mw-process :process="60" text="600"></mw-process>
|
</div>
|
<div class="chartTitle">受试电机电压</div>
|
<div class="chartTitle mw-process-warp">
|
<mw-section-process title="当前电压 600V" leftText="-5V" rightText="+6V"></mw-section-process>
|
</div>
|
<div class="chartTitle">受试电机电流</div>
|
<div class="chartTitle mw-process-warp">
|
<mw-section-process title="当前电压 2200mA" leftText="-20mA"
|
rightText="+20mA"></mw-section-process>
|
</div>
|
</div>
|
</div>
|
</div>
|
<div class="modelItemWarp bottom" style="width:26%;">
|
<div class="content">
|
<div class="title">直流调速柜操作</div>
|
<div class="con">
|
<div class="speedCon">
|
<el-slider v-model="speedValue"></el-slider>
|
</div>
|
<div class="flexCon">
|
<el-button type="primary" size="mini" @click="changeSpeed('add')">加速</el-button>
|
<el-button type="primary" size="mini" @click="changeSpeed('reduce')">减速</el-button>
|
<el-input v-model="nbmspeedValue" placeholder="请输入内容" size="mini"
|
class="speedInput"></el-input>
|
<el-button type="primary" size="mini">确认调速</el-button>
|
</div>
|
</div>
|
</div>
|
</div>
|
<div class="modelItemWarp bottom" style="width:26%;">
|
<div class="content">
|
<div class="title">AFE变频操作</div>
|
<div class="con">
|
<div class="flexWarp">
|
<div class="status">
|
<div class="text">整流启动</div>
|
<div class="moduleCon">
|
<status-module :statusList="statusList1"></status-module>
|
</div>
|
</div>
|
<div class="status">
|
<div class="text">整流逆变</div>
|
<div class="moduleCon">
|
<status-module :statusList="statusList2"></status-module>
|
</div>
|
</div>
|
<div class="status">
|
<div class="text">整流模式</div>
|
<div class="moduleCon">
|
<status-module :statusList="statusList3"></status-module>
|
</div>
|
</div>
|
<div class="status lineCon">
|
<div class="line">
|
<div class="text">VF</div>
|
<el-input v-model="VFValue" placeholder="请输入内容" size="mini"
|
class="input"></el-input>
|
<div class="text">参考值1~50</div>
|
</div>
|
<div class="line">
|
<div class="text">SVC</div>
|
<el-input v-model="SVCValue" placeholder="请输入内容" size="mini"
|
class="input"></el-input>
|
<div class="text">参考值1~200</div>
|
</div>
|
<div class="line">
|
<div class="text">FVC</div>
|
<el-input v-model="FVCValue" placeholder="请输入内容" size="mini"
|
class="input"></el-input>
|
<div class="text">参考值1~1000</div>
|
</div>
|
</div>
|
<div class="status">
|
<el-button type="primary" size="mini">整流复位</el-button>
|
<el-button type="danger" size="mini">紧急停止</el-button>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
<div class="modelItemWarp bottom" style="width:8.5%;">
|
<div class="content">
|
<div class="title">整流电压操作</div>
|
<div class="con">
|
<div class="couflex">
|
<el-button type="primary" size="mini" class="stopBtn">停止</el-button>
|
<el-button type="danger" size="mini" class="stopBtn">紧急停止</el-button>
|
</div>
|
</div>
|
</div>
|
</div>
|
<div class="modelItemWarp bottom" style="width:8.5%;">
|
<div class="content">
|
<div class="title">水冷操作</div>
|
<div class="con">
|
<div class="couflex">
|
<div class="optItem">
|
<div class="lineTit">AFE变频器水冷</div>
|
<mw-switch v-model="value1" text="开启|关闭"></mw-switch>
|
</div>
|
<div class="optItem">
|
<div class="lineTit">受试电机水冷</div>
|
<mw-switch v-model="value1" text="开启|关闭"></mw-switch>
|
</div>
|
<div class="optItem">
|
<div class="lineTit">测功电机水冷</div>
|
<mw-switch v-model="value1" text="开启|关闭"></mw-switch>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
<div class="modelItemWarp bottom" style="width:31%;">
|
<div class="content">
|
<div class="title">试验状态</div>
|
<div class="con" style="position:relative;overflow:auto;">
|
<div class="stepCont">
|
<step-list v-for="(item, index) in list" :key="'key'+index" :data="item"
|
:end="(list.length-1) == index"
|
size="mini">
|
</step-list>
|
</div>
|
<div class="stepBtnCon">
|
<el-button type="primary" size="mini">查看结果</el-button>
|
<el-button type="primary" size="mini">完成试验</el-button>
|
<el-button type="primary" size="mini" :disabled="!progressStep" @click="nextStepTest">下步试验</el-button>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
<load-test-dialog :type="type" :visible="dialogVisible" @updateList="updateList"></load-test-dialog>
|
<mw-drawer :visible.sync="drawer">
|
<pre-option-list :type="type" v-if="drawer"></pre-option-list>
|
</mw-drawer>
|
</div>
|
</template>
|
|
<script>
|
import barChart from '@/components/chart/barChart.vue'
|
import gridCircuitDiagram from '@/pages/test/js/noLoadTestDiagram'
|
import DoubleLine from '@/components/chart/doubleLine.vue';
|
import StepList from '@/components/smallModule/stepList.vue';
|
import MwSwitch from '@/components/smallModule/mwSwitch.vue';
|
import StatusModule from '@/components/smallModule/statusModule.vue';
|
import absPanel from '@/components/smallModule/absPanel.vue';
|
import MwProcess from '@/components/smallModule/mwProcess.vue';
|
import MwSectionProcess from '@/components/smallModule/mwSectionProcess.vue';
|
import MwThermometer from '@/components/smallModule/mwThermometer.vue';
|
import LoadTestDialog from "@/pages/test/dialog/LoadTestDialog";
|
import {stopTestPoint} from "@/pages/test/js/api";
|
import MwDrawer from "@/components/smallModule/mwDrawer";
|
import PreOptionList from "@/components/smallModule/preOptionList";
|
|
let diagram;
|
export default {
|
components: {
|
PreOptionList,
|
MwDrawer,
|
barChart,
|
DoubleLine,
|
StepList,
|
MwSwitch,
|
StatusModule,
|
MwProcess,
|
MwSectionProcess,
|
MwThermometer,
|
absPanel,
|
LoadTestDialog,
|
},
|
data() {
|
return {
|
type: 'kz',
|
dialogVisible: false,
|
dcBox: [{
|
label: '电压:',
|
value: 0,
|
unit: "V",
|
},
|
{
|
label: '电流:',
|
value: 0,
|
unit: "A",
|
},
|
],
|
underTestMotor: [{
|
label: '转速:',
|
value: 0,
|
unit: "r/min",
|
},
|
{
|
label: '功率:',
|
value: 0,
|
unit: "kW",
|
},
|
{
|
label: '噪声:',
|
value: 0,
|
unit: "dB",
|
},
|
],
|
text1Pos: [20, 20],
|
value1: true,
|
speedValue: 0,
|
nbmspeedValue: 0,
|
VFValue: 10,
|
SVCValue: 30,
|
FVCValue: 110,
|
statusList1: [{
|
text: '运行中',
|
color: '#82e866',
|
status: false
|
}, {
|
text: '已停止',
|
color: '#f78989',
|
status: true
|
}],
|
statusList2: [{
|
text: '运行中',
|
color: '#82e866',
|
status: true
|
}, {
|
text: '已停止',
|
color: '#f78989',
|
status: false
|
}],
|
statusList3: [{
|
text: '速度',
|
color: '#82e866',
|
status: false
|
}, {
|
text: '转矩',
|
color: '#82e866',
|
status: true
|
}],
|
diagramStatus: [{
|
text: '运行',
|
color: '#82e866',
|
status: true
|
}, {
|
text: '报警',
|
color: '#ffff00',
|
status: true
|
}, {
|
text: '故障',
|
color: '#f78989',
|
status: true
|
}, {
|
text: '紧停',
|
color: '#666ee8',
|
status: true
|
}],
|
list: [],
|
drawer: false,
|
}
|
},
|
watch: {
|
'nbmspeedValue': {
|
handler(val) {
|
this.speedValue = Number(val)
|
},
|
deep: true
|
},
|
'speedValue': {
|
handler(val) {
|
this.nbmspeedValue = Number(val)
|
},
|
deep: true
|
},
|
},
|
mounted() {
|
this.initChart();
|
diagram = gridCircuitDiagram(this.$refs.static, this.$refs.flush);
|
},
|
methods: {
|
changeSpeed(type) {
|
if (type == 'add') {
|
this.speedValue += 1
|
} else {
|
this.speedValue -= 1
|
}
|
},
|
initChart() {
|
this.$refs.temperatureBar.setData({
|
xData: ['#1', '#2', '#3', '#4', '#5', '#6', '#7', '#8', '#9', '#10', '#11', '#12'],
|
series: [{
|
color: '#ffc71c',
|
name: '定子温度情况',
|
data: [38, 56, 80, 64, 58, 36, 1, 1, 1, 1, 1, 1],
|
smooth: false,
|
showlabel: false
|
}]
|
});
|
this.$refs.DoubleLine.setData({
|
xData: ['9:44:05', '9:44:10', '9:44:15', '9:44:20', '9:44:25', '9:44:30', '9:44:35'],
|
series: [{
|
color: '#1e9ff2',
|
name: '空载电机电压',
|
data: [10, 10, 30, 12, 15, 3, 7],
|
showSymbol: true,
|
yAxisIndex: 0,
|
}, {
|
color: '#1bd9a0',
|
name: '高速齿轮',
|
data: [150, 120, 170, 140, 500, 160, 110],
|
showSymbol: true,
|
yAxisIndex: 1,
|
}]
|
});
|
},
|
updateList(list) {
|
this.list = list;
|
},
|
nextStepTest() {
|
let step = this.progressStep;
|
let id = step.id;
|
let name = step.name;
|
this.$confirm("确认手动完成"+name+'测试', "系统提示", {
|
type: 'warning'
|
}).then(res=>{
|
stopTestPoint(id).then(res=>{
|
let rs = res.data;
|
if(rs.code == 1) {
|
this.$layer.msg("手动完成成功!");
|
}else {
|
this.$layer.msg("手动完成失败!");
|
}
|
}).catch(error=>{
|
this.$layer.msg("网络通讯异常");
|
});
|
}).catch(error=>{});
|
|
}
|
},
|
computed: {
|
progressStep() {
|
let list = this.list;
|
let step = false;
|
for(let i=0; i<list.length; i++) {
|
let item = list[i];
|
if(item.status == 1) {
|
step = item;
|
break;
|
}
|
}
|
return step;
|
},
|
}
|
}
|
</script>
|
|
<style scoped>
|
.noLoadTest {
|
width: 100%;
|
height: 100%;
|
}
|
|
.flex-warp {
|
width: 100%;
|
height: 100%;
|
display: flex;
|
flex-wrap: wrap;
|
padding-bottom: 25px;
|
}
|
|
.flex-warp .top {
|
height: 68%;
|
}
|
|
.flex-warp .bottom {
|
height: 32%;
|
}
|
|
.chart {
|
width: 100%;
|
height: 100%;
|
}
|
|
.diagram-content {
|
top: -24px;
|
}
|
|
.scrollCon {
|
width: 100%;
|
height: 100%;
|
overflow: auto;
|
}
|
|
.scrollCon .list {
|
width: 100%;
|
display: flex;
|
align-items: center;
|
font-size: 12px;
|
padding: 6px 14px;
|
justify-content: space-between;
|
}
|
|
.scrollCon .list .text {
|
color: #ffffff;
|
width: 80%;
|
overflow: hidden;
|
white-space: nowrap;
|
text-overflow: ellipsis;
|
}
|
|
.scrollCon .list .see {
|
color: #02A7F0;
|
cursor: pointer;
|
}
|
|
.lineCon {
|
width: 100%;
|
height: 200px;
|
}
|
|
.chartTitle {
|
width: 100%;
|
font-size: 14px;
|
padding: 8px 15px;
|
}
|
|
.stepCont {
|
padding: 10px;
|
}
|
|
.speedCon {
|
width: 86%;
|
height: 60px;
|
background: inherit;
|
background-color: rgba(255, 255, 255, 1);
|
border: none;
|
border-radius: 8px;
|
-moz-box-shadow: 0px 0px 5px rgba(228, 228, 228, 1);
|
-webkit-box-shadow: 0px 0px 5px rgb(228 228 228);
|
box-shadow: 0px 0px 5px rgb(228 228 228);
|
margin: 40px auto;
|
padding: 0 20px;
|
display: flex;
|
align-items: center;
|
}
|
|
.speedCon /deep/ .el-slider {
|
width: 100%;
|
}
|
|
.flexCon {
|
width: 100%;
|
display: flex;
|
align-items: center;
|
padding: 0 7%;
|
}
|
|
.speedInput {
|
margin: 0 10px;
|
}
|
|
.couflex {
|
width: 100%;
|
height: 100%;
|
display: flex;
|
align-items: center;
|
flex-direction: column;
|
}
|
|
.stopBtn {
|
width: 60%;
|
margin-top: 20px;
|
margin-left: 0;
|
padding: 10px 0;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
}
|
|
.couflex .optItem {
|
width: 100%;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
flex-direction: column;
|
margin-top: 10px;
|
}
|
|
.couflex .lineTit {
|
font-size: 12px;
|
margin-bottom: 6px;
|
}
|
|
.flexWarp {
|
display: flex;
|
flex-wrap: wrap;
|
padding: 6px;
|
}
|
|
.flexWarp .status {
|
width: 48%;
|
display: flex;
|
justify-content: center;
|
margin-bottom: 10px;
|
padding: 0 2px 0 10px;
|
}
|
|
.flexWarp .status .text {
|
font-size: 10px;
|
}
|
|
.flexWarp .status .moduleCon {
|
flex: 1;
|
margin-left: 6px;
|
}
|
|
.flexWarp .status .line {
|
display: flex;
|
align-items: center;
|
width: 100%;
|
margin-bottom: 4px;
|
}
|
|
.flexWarp .status .line .text {
|
margin: 0 8px 0 4px;
|
}
|
|
.flexWarp .status .line .text:first-of-type {
|
width: 30px;
|
}
|
|
.flexWarp .status .line .input {
|
width: 58px;
|
}
|
|
.flexWarp .status.lineCon {
|
display: block;
|
width: 52%;
|
height: 60px;
|
}
|
|
.diagramStatus {
|
width: 200px;
|
position: absolute;
|
bottom: 20px;
|
left: 20px;
|
}
|
|
.modelItemWarp .diagramPanel1 {
|
left: 140px;
|
top: 130px;
|
}
|
|
.modelItemWarp .diagramPanel2 {
|
left: 290px;
|
top: 190px;
|
}
|
|
.mw-process-warp {
|
margin-bottom: 20px;
|
}
|
|
.stepBtnCon {
|
position: absolute;
|
width: 100px;
|
right: 10px;
|
top: 0;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
flex-direction: column;
|
}
|
|
.stepBtnCon /deep/ .el-button {
|
margin: 0;
|
margin-bottom: 10px;
|
}
|
|
.thermometerCon {
|
position: absolute;
|
bottom: 20px;
|
right: 40px;
|
color: #318bf1;
|
font-size: 10px;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
flex-direction: column;
|
}
|
</style>
|