whycwx
2021-05-21 9ffb54edfbbb3cafc699c8a67a1ea80c11d5a21a
绕组试验
7个文件已修改
10个文件已添加
1292 ■■■■■ 已修改文件
src/pages/AFEinverter/js/gridCircuitDiagram.js 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/boostingTransformer/boostingTransformer.vue 383 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/boostingTransformer/images/dynamometry.png 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/boostingTransformer/images/plate.png 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/boostingTransformer/images/transformer.png 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/boostingTransformer/js/gridCircuitDiagram.js 158 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/dcSwitchboard/js/gridCircuitDiagram.js 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/dynamometerMmotor/js/gridCircuitDiagram.js 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/monitoring/js/gridCircuitDiagram.js 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/switchboard/js/gridCircuitDiagram.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/testedMotor/js/gridCircuitDiagram.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/windingTest/images/bg01.png 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/windingTest/images/bg02.png 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/windingTest/js/apis.js 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/windingTest/windingTest.vue 358 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/windingTest/windingTestIndex.vue 248 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/routes.js 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/pages/AFEinverter/js/gridCircuitDiagram.js
@@ -14,10 +14,10 @@
function girdCircuitDiagram(stc, flush) {
    
    let diagram = new Diagram();
    let thisWidth = stc.scrollWidth;
    let thisHeight = stc.scrollHeight;
    diagram.width = thisWidth;
    diagram.height= thisHeight;
    // let thisWidth = stc.scrollWidth;
    // let thisHeight = stc.scrollHeight;
    diagram.width = 236;
    diagram.height= 579;
    diagram.setCanvas(stc, flush);
    let start = [1, 40];
@@ -199,7 +199,7 @@
        fillStyle: '#ffff18',
        fontSize: 12,
        fontWidth:1,
        point:[dashLine1[1][0]+20,dashLine1[1][1]+70],
        point:[dashLine1[1][0]+20,dashLine1[1][1]+45],
        showPanel: false,
        type:true,
        radBorder: true,
@@ -211,7 +211,7 @@
        fillStyle: '#ffff18',
        fontSize: 12,
        fontWidth:1,
        point:[dashLine1[1][0]+65,dashLine1[1][1]+70],
        point:[dashLine1[1][0]+65,dashLine1[1][1]+45],
        showPanel: false,
        type:true,
        radBorder: true,
@@ -223,7 +223,7 @@
        fillStyle: '#ffff18',
        fontSize: 12,
        fontWidth:1,
        point:[dashLine1[1][0]+65,dashLine1[1][1]+142],
        point:[text7.right[0]-65,text7.right[1]+55],
        showPanel: false,
        type:true,
        radBorder: true,
@@ -235,7 +235,7 @@
        fillStyle: '#ffff18',
        fontSize: 12,
        fontWidth:1,
        point:[dashLine1[1][0]+145,dashLine1[1][1]+70],
        point:[dashLine1[1][0]+145,dashLine1[1][1]+45],
        showPanel: false,
        type:true,
        radBorder: true,
@@ -247,7 +247,7 @@
        fillStyle: '#ffff18',
        fontSize: 12,
        fontWidth:1,
        point:[dashLine1[1][0]+190,dashLine1[1][1]+70],
        point:[dashLine1[1][0]+190,dashLine1[1][1]+45],
        showPanel: false,
        type:true,
        radBorder: true,
src/pages/boostingTransformer/boostingTransformer.vue
New file
@@ -0,0 +1,383 @@
<template>
<div class="body_box">
    <!-- 大功率整流电源监控 -->
     <div class="tipTitle">开关柜监控</div>
    <div class="left_Box">
        <div class="diagram-content">
                <div class="diagram-stc" ref="static"></div>
                <div class="diagram-flush" ref="flush"></div>
        </div>
    </div>
    <div class="content_box">
        <div class="content_top">
            <p class="title_into">当前运行情况</p>
            <el-form ref="form" label-width="125px">
                <el-form-item label="变压器状态:">
                    <el-input size="mini" v-model="formData.thisInfo.byqzt" style="width:100px"></el-input>
                </el-form-item>
            </el-form>
        </div>
        <div class="content_cent">
            <p class="title_into">详细参数情况</p>
            <el-form ref="form" label-width="100px">
                <el-col :span="12">
                    <el-form-item label="输入电压:">
                        <el-input size="mini" v-model="formData.thisInfo.srdy" style="width:100px"></el-input>
                    </el-form-item>
                </el-col>
                <el-col :span="12">
                    <el-form-item label="输入电流:">
                        <el-input size="mini" v-model="formData.thisInfo.srdl" style="width:100px"></el-input>
                    </el-form-item>
                </el-col>
                <el-form-item label="额定电压:">
                        <el-input size="mini" v-model="formData.thisInfo.eddy" style="width:100px"></el-input>
                    </el-form-item>
                <el-col :span="12">
                    <el-form-item label="输出电压:">
                        <el-input size="mini" v-model="formData.thisInfo.scdy" style="width:100px"></el-input>
                    </el-form-item>
                </el-col>
                <el-col :span="12">
                    <el-form-item label="额定频率:">
                        <el-input size="mini" v-model="formData.thisInfo.edpl" style="width:100px"></el-input>
                    </el-form-item>
                </el-col>
                <el-form-item label="模块温度:">
                    <el-input size="mini" v-model="formData.thisInfo.mkwd" style="width:100px"></el-input>
                </el-form-item>
            </el-form>
            <div class="clear"></div>
        </div>
        <div class="content_bottom">
            <p class="title_into">告警情况</p>
            <!-- 表单 -->
            <div class="flex-page-content">
                <div class="batteryrHistoryquery" style="width: 100%;height: 100%;">
                    <el-table :data="tableData" style="width: 100%" max-height="145px">
                        <el-table-column prop="date" label="告警时间" width="180"></el-table-column>
                        <el-table-column prop="name" label="告警名称" width="180"></el-table-column>
                        <el-table-column prop="address" label="告警描述"></el-table-column>
                    </el-table>
                </div>
            </div>
        </div>
    </div>
    <div class="right_box">
        <p class="title_into">实时曲线</p>
        <p class="title_echarts">电压</p>
        <div class="echarts-right" ref="currA">
        </div>
        <p class="title_echarts">电流</p>
        <div class="echarts-right" ref="currB">
        </div>
        <p class="title_echarts">功率</p>
        <div class="echarts-right" ref="power">
        </div>
    </div>
    <div class="clear"></div>
</div>
</template>
<script>
import getWsUrl from "@/assets/js/getWsUrl";
import * as echarts from 'echarts';
import gridCircuitDiagram from '@/pages/boostingTransformer/js/gridCircuitDiagram'
let diagram;
export default {
    chart: {},
    data(){
        return {
            isOpen:false,
            tableData:[],
            formData:{
                thisInfo:{
                    byqzt:"运行中",
                    srdy:"600V",
                    srdl:"500A",
                    eddy:"600V",
                    scdy:"10KV",
                    scdl:"30A",
                    edpl:"50HZ",
                    mkwd:"30℃",
                }
            },
            echartsList:[
                {echartsCurr:[],echartsVol:[],echartsPower:[],name:"电压",class:"currA",text:"V"},
                {echartsCurr:[],echartsVol:[],echartsPower:[],name:"电流",class:"currB",text:"A"},
                {echartsCurr:[],echartsVol:[],echartsPower:[],name:"功率",class:"power",text:"K"},
            ],
            dateTime:[],
        }
    },
    components:{
        // ContentBox
    },
    mounted() {
        let self = this;
        diagram = gridCircuitDiagram(this.$refs.static, this.$refs.flush);
        self.initEcharts();
        self.openSocket();
    },
    methods: {
        // 初始化图表
        initEcharts(){
            let self = this;
                self.echartsList.forEach(item => {
                    self.$options.chart[item.class] = echarts.init(self.$refs[item.class]);
                });
        },
        // 打开链接
        openSocket() {
            // 初始化WebSocket
            this.close();
            this.initSocket();
        },
        // 初始化
        initSocket() {
            // 未被初始化初始化
            if (!this.isOpen) {
                const wsUri = getWsUrl("/device", "");
                this.socket = new WebSocket(wsUri);
                this.socket.onmessage = this.onMessage;
                this.socket.onopen = this.onOpen;
                this.socket.onerror = this.onError;
                this.socket.onclose = this.close;
            }
        },
        onMessage(res) {
            let self = this;
            let result = JSON.parse(res.data)
            console.log(result)
            if(result.code == 1){
                this.isOpen = true;
                // 表单赋值
                self.echartsList[0].echartsCurr.push(result.data.screenRTList[0].panelCurr);
                self.echartsList[0].echartsVol.push(result.data.screenRTList[0].panelVol);
                self.echartsList[1].echartsCurr.push(result.data.screenRTList[2].panelCurr);
                self.echartsList[1].echartsVol.push(result.data.screenRTList[2].panelVol);
                self.echartsList[2].echartsPower.push(result.data.powerRT.rectifierPowerState);
            }
            self.dateTime.push(self.getTime());
            if(self.dateTime.length>10){
                self.dateTime.shift();
            }
            self.echartsList.forEach(item => {
                if(item.echartsCurr.length>10){
                    item.echartsCurr.shift();
                    item.echartsVol.shift();
                    item.echartsPower.shift();
                }
                self.setOption(item,item.text);
            });
        },
        getTime(){
            var myDate = new Date(); //实例一个时间对象;
                // myDate.getFullYear();   //获取系统的年;
                // myDate.getMonth()+1;   //获取系统月份,由于月份是从0开始计算,所以要加1
                // myDate.getDate(); // 获取系统日,
                // myDate.getHours(); //获取系统时,
                // myDate.getMinutes(); //分
                // myDate.getSeconds(); //秒
            let thisTime = myDate.getHours() + ":" + myDate.getMinutes() + ":" + myDate.getSeconds();
            return thisTime
        },
        onOpen() {
            // 向后台发送请求数据
            // this.socket.send(this.thisLi.deviceId);
        },
        onError() {
            console.log('链接失败')
        },
        close() {
            // 关闭websocket
            if (this.isOpen) {
                // 打印关闭信息
                console.log("关闭电源实时告警WebSocket");
                this.socket.close();
            }
        },
        // 配置图表
        setOption:function(data,text){
            let self = this;
            let option = {
                    animation: false,
                    grid: {
                        left: '70',
                        top: '20',
                        right: '70',
                        bottom: '30'
                    },
                    tooltip: {
                        show: true
                    },
                    xAxis: {
                        type: 'category',
                        show: true,
                        splitLine:{
                            show:false
                        },
                        data:self.dateTime
                    },
                    yAxis: [{
                        type: 'value',
                        gridIndex:0,
                        show: true,
                        splitLine: {
                            show: false
                        },
                        minInterval: 1,
                        axisLabel: {
                            formatter: '{value}'+text
                        },
                    }],
                    series: [{
                        data: text=="K"?data.echartsPower:data.echartsCurr,
                        // xAxisIndex: 0,
                        yAxisIndex: 0,//使用的 y 轴的 index,在单个图表实例中存在多个 y轴的时候有用。
                        type: 'line',
                        step: false,
                        smooth: true
                    }]
                };
                    self.$options.chart[data.class].setOption(option);
        },
        setPanelPos:function(){
        }
    },
    destroyed(){
        this.close();
    }
}
</script>
<style scoped>
.clear{
    clear: both;
}
.partition{
    height: 1px;
    width: 100%;
    border-bottom:1px solid #1e9ff2;
}
.batteryrHistoryquery{
    overflow: auto;
}
.echarts-right{
    width: 100%;
    height: 160px;
}
.title_echarts{
    margin-top: 50px;
    padding: 0 0 0 20px;
    font-size: 12px;
}
.el-form-item{
    margin-bottom:0.1rem;
}
/deep/.el-input__inner{
    padding: 0 0.5rem;
}
/deep/.el-table th, /deep/.el-table tr{
    background: #171350 !important;
    color: #fff;
}
.body_box{
    width: 100%;
    height: 100%;
}
.left_Box,.content_box,.right_box{
    float: left;
    height: 95%;
    margin: 0 4px;
}
.right_box{
    border: 1px solid #1e9ff2;
}
.content_box{
    width: 39%;
    margin-left: 10px;
}
.content_top,.content_cent,.content_bottom{
    height: 30%;
    border:1px solid #1e9ff2;
    padding: 1%;
}
.content_top{
    height: 25%;
}
.content_cent{
    height: 40%;
}
.content_bottom{
    height: 33%;
}
.content_cent{
    margin: 1% 0;
}
.title_into{
    padding-left: 1%;
    color: #ffff18;
}
.detail_info{
    float: left;
    width: 22%;
    margin-right: 2%;
    font-size: 12px;
    padding-top: 2%;
}
.detail_info .el-form-item{
    margin-bottom:0;
}
.right_box{
    width: 39%;
}
.left_Box{
    background: url("../../assets/images/leftBg.png") 0 0 no-repeat;
    background-size: 100% 100%;
    width: 20%;
    height: 95%;
    padding: 0.75rem 1rem;
}
.diagram-content{
    height: 100%;
    width: 100%;
    position: relative;
}
.diagram-stc {
        width: 100%;
        height: 100%;
        overflow: hidden;
    }
.diagram-flush {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9;
    overflow: hidden;
}
.diagram-stc /deep/ canvas,.diagram-flush /deep/ canvas{
    object-fit:fill !important;
}
</style>
src/pages/boostingTransformer/images/dynamometry.png
src/pages/boostingTransformer/images/plate.png
src/pages/boostingTransformer/images/transformer.png
src/pages/boostingTransformer/js/gridCircuitDiagram.js
New file
@@ -0,0 +1,158 @@
import Diagram from '@/assets/js/newDiagram'
import plate from '../images/plate.png'
import dynamometry from '../images/dynamometry.png'
import transformer from '../images/transformer.png'
const lineWidth = 2;
const lineWidth2 = 1;
const lineStrokeColor = '#105b96';
const lineStrokeColor2 = '#ccc';
// const frequencyWidth = 96;
// const ACWidth = 124;
// const parameterWidth = 85;
function girdCircuitDiagram(stc, flush) {
    let diagram = new Diagram();
    let thisWidth = stc.scrollWidth;
    let thisHeight = stc.scrollHeight;
    diagram.width = 236;
    diagram.height= 579;
    diagram.setCanvas(stc, flush);
    let start = [40, 100];
    let line1 = diagram.line({
        id: 'line1',
        strokeStyle: lineStrokeColor,
        lineWidth: lineWidth,
        points: [
            start,
            [start[0]+160, start[1]]
        ]
    });
    let line2 = diagram.line({
        id: 'line2',
        strokeStyle: lineStrokeColor,
        lineWidth: lineWidth,
        points: [
            [line1[0][0]+80, line1[0][1]],
            [line1[0][0]+80, line1[0][1]+30]
        ]
    });
    let arc1 = diagram.arc({
        id: 'arc1',
        point: [
            line2[1][0], line2[1][1]
        ],
        fillStyle: lineStrokeColor,
        strokeStyle: lineStrokeColor,
        radius: 3,
        type: 'fill'
    })
    let line3 = diagram.line({
        id: 'line3',
        strokeStyle: lineStrokeColor,
        lineWidth: lineWidth,
        points: [
            [line2[1][0], line2[1][1]+30],
            [line2[1][0], line2[1][1]+80]
        ]
    });
    let arc2 = diagram.arc({
        id: 'arc2',
        point: [
            line3[0][0], line3[0][1]
        ],
        fillStyle: lineStrokeColor,
        strokeStyle: lineStrokeColor,
        radius: 3,
        type: 'fill'
    })
    let line4 = diagram.line({
        id: 'line4',
        strokeStyle: lineStrokeColor,
        lineWidth: lineWidth,
        points: [
            [line3[0][0], line3[0][1]],
            [line2[1][0], line2[1][1]]
        ]
    });
    let Image1 = diagram.drawImage({
        id: 'img1',
        url: transformer,
        point: [line4[1][0]-35, line4[1][1]+60],
        width: 70,
        height: 101,
    })
    let line5 = diagram.line({
        id: 'line5',
        strokeStyle: lineStrokeColor,
        lineWidth: lineWidth,
        points: [
            [line3[1][0], line3[1][1]+70],
            [line3[1][0], line3[1][1]+140]
        ]
    });
    let Image2 = diagram.drawImage({
        id: 'img2',
        url: plate,
        point: [line5[1][0]-35, line5[1][1]-20],
        width: 70,
        height: 101,
    })
    let line6 = diagram.line({
        id: 'line6',
        strokeStyle: lineStrokeColor,
        lineWidth: lineWidth,
        points: [
            [line5[1][0], line5[1][1]+70],
            [line5[1][0], line5[1][1]+140]
        ]
    });
    let Image3 = diagram.drawImage({
        id: 'img3',
        url: dynamometry,
        point: [line6[1][0]-35, line6[1][1]-20],
        width: 70,
        height: 90,
    })
    let text1 = diagram.text({
        id: "text1",
        text: '10kV母线',
        fillStyle: '#ffff18',
        fontSize: 12,
        type:true,
        point:[line1[1][0]-50,line1[1][1]-15]
    });
    let text2 = diagram.text({
        id: "text2",
        text: '升压变压器',
        fillStyle: '#ffff18',
        fontSize: 12,
        type:true,
        point:[Image1.top[0]-80,Image1.top[1]-15]
    });
    let text3 = diagram.text({
        id: "text3",
        text: 'AFE变频驱动柜',
        fillStyle: '#ffff18',
        fontSize: 12,
        type:true,
        point:[Image2.left[0]-70,Image2.left[1]-45]
    });
    let text4 = diagram.text({
        id: "text4",
        text: '受功电机',
        fillStyle: '#ffff18',
        fontSize: 12,
        type:true,
        point:[Image3.right[0],Image3.right[1]-45]
    });
    return diagram;
}
export default girdCircuitDiagram;
src/pages/dcSwitchboard/js/gridCircuitDiagram.js
@@ -12,10 +12,10 @@
function girdCircuitDiagram(stc, flush) {
    
    let diagram = new Diagram();
    let thisWidth = stc.scrollWidth;
    let thisHeight = stc.scrollHeight;
    diagram.width = thisWidth;
    diagram.height= thisHeight;
    // let thisWidth = stc.scrollWidth;
    // let thisHeight = stc.scrollHeight;
    diagram.width = 236;
    diagram.height= 579;
    diagram.setCanvas(stc, flush);
    let start = [115, 10];
src/pages/dynamometerMmotor/js/gridCircuitDiagram.js
@@ -11,11 +11,10 @@
function girdCircuitDiagram(stc, flush) {
    
    let diagram = new Diagram();
    let thisWidth = stc.scrollWidth;
    let thisHeight = stc.scrollHeight;
    diagram.width = thisWidth;
    diagram.height= thisHeight;
    console.log(diagram.width,diagram.height)
    // let thisWidth = stc.scrollWidth;
    // let thisHeight = stc.scrollHeight;
    diagram.width = 525;
    diagram.height= 380;
    diagram.setCanvas(stc, flush);
    let start = [60, 100];
src/pages/monitoring/js/gridCircuitDiagram.js
@@ -12,10 +12,10 @@
function girdCircuitDiagram(stc, flush) {
    
    let diagram = new Diagram();
    let thisWidth = stc.scrollWidth;
    let thisHeight = stc.scrollHeight;
    diagram.width = thisWidth;
    diagram.height= thisHeight;
    // let thisWidth = stc.scrollWidth;
    // let thisHeight = stc.scrollHeight;
    diagram.width = 236;
    diagram.height= 579;
    diagram.setCanvas(stc, flush);
    let start = [10, 150];
src/pages/switchboard/js/gridCircuitDiagram.js
@@ -16,8 +16,8 @@
    let diagram = new Diagram();
    let thisWidth = stc.scrollWidth;
    let thisHeight = stc.scrollHeight;
    diagram.width = thisWidth;
    diagram.height= thisHeight;
    diagram.width = 236;
    diagram.height= 579;
    diagram.setCanvas(stc, flush);
    let start = [120, 30];
src/pages/testedMotor/js/gridCircuitDiagram.js
@@ -18,8 +18,8 @@
    let diagram = new Diagram();
    let thisWidth = stc.scrollWidth;
    let thisHeight = stc.scrollHeight;
    diagram.width = thisWidth;
    diagram.height= thisHeight;
    diagram.width = 525;
    diagram.height= 380;
    diagram.setCanvas(stc, flush);
    let start = [60, 100];
src/pages/windingTest/images/bg01.png
src/pages/windingTest/images/bg02.png
src/pages/windingTest/js/apis.js
New file
@@ -0,0 +1,71 @@
import axios from "@/assets/js/axios";
/**
 * 获取已保存绕组试验数据
 */
 export const getDataList = (data) => {
    return axios({
      method: "GET",
      url: "/windingExperiment/getRZStep",
      params: data
    });
  }
/**
 * 删除绕组实验数据
 */
 export const daleteData = (data) => {
    return axios({
      method: "DELETE",
      url: "/windingExperiment/delRZExperiment",
      params: data
    });
  }
/**
 * 查询试验项目名称
 */
 export const getItemName = () => {
    return axios({
      method: "GET",
      url: "/windingExperiment/getProjectName",
      params: null
    });
  }
  /**
 * 当前试验编号
 */
 export const getThisNumber = (data) => {
    return axios({
      method: "GET",
      url: "/windingExperiment/experimentId",
      params: data
    });
  }
   /**
 * 绕组开始试验
 */
 export const beginTest = (data) => {
    return axios({
      method: "POST",
      url: "/windingExperiment",
      data: data
    });
  }
/**
 * 获取测试人
 */
 export const getUserName = (data) => {
    return axios({
      method: "GET",
      url: "/windingExperiment/getRealName",
      params: data
    });
  }
  /**
 * 获取测试人
 */
 export const complete = (data) => {
    return axios({
      method: "POST",
      url: "/windingExperiment/updateFlag",
      params: data
    });
  }
src/pages/windingTest/windingTest.vue
New file
@@ -0,0 +1,358 @@
<template>
<div class="body_box">
    <!-- 大功率整流电源监控 -->
    <div class="tipTitle">绕组电阻测定试验</div>
    <div class="clear"></div>
    <div class="left_Box" :class="next_status==1?'bg01':'bg02'">
        <!-- <div class="diagram-content">
                <div class="diagram-stc" ref="static"></div>
                <div class="diagram-flush" ref="flush"></div>
        </div> -->
    </div>
    <div class="content_box">
        <div class="content_top">
            <div v-if="next_status == 1">
                <p class="title_into">标准试验一</p>
                <p class="title_into">2021040901</p>
                <p class="title_list">实验步骤①</p>
                <p class="title_list">测量绕组绝缘电阻:使用绝缘电阻测试仪,如各相绕组的始末端均引出时,分别测量各绕组对机壳及绕组相互间的绝缘电阻;</p>
                <p class="title_list">如电机绕组已在电机内部连接仅引出出线端时,测量所有连在一起的绕组对机壳的绝缘电阻。手工测试完成后将结果填入下列表格。</p>
                <p class="title_list">绝缘电阻测量结束后,每个回路应对地放电。</p>
            </div>
            <div v-if="next_status == 2">
                <p class="title_into">标准试验一</p>
                <p class="title_into">2021040901</p>
                <p class="title_list">实验步骤②</p>
                <p class="title_list">测量直流电阻时,可通过微欧计测量各个绕组的冷态直流电阻数值</p><br/>
            </div>
            <div class="table_box">
                <table border="1">
                    <tr>
                        <th>
                            <el-select v-model="selsectVal" :disabled="disStatus" class="select_st" @change="getList">
                                <el-option
                                v-for="item in options"
                                :key="item.value"
                                :label="item.label"
                                :value="item.value">
                                </el-option>
                            </el-select>
                            <!-- <select name="1" id="" value="1">
                                <option value="2">测各相绕组引线</option>
                                <option value="1">测绕组引线</option>
                            </select> -->
                        </th>
                        <th>{{ next_status == 1?"电流(μA)":"电流(mA)"}}</th>
                        <th>电压(V)</th>
                        <th>绝缘电阻(Ω)</th>
                        <th>绕组温度(℃)</th>
                    </tr>
                    <tr v-if="list_status == 1" v-for="(item,i) in tebleList" :key="i">
                        <td class="list_title">{{ item.name }}</td>
                        <td><input type="text" v-model="item.rz1"></td>
                        <td><input type="text"v-model="item.rz2"></td>
                        <td><input type="text"v-model="item.rz3"></td>
                        <td><input type="text"v-model="item.rz4"></td>
                    </tr>
                    <tr v-if="list_status == 2">
                        <td class="list_title">绕组</td>
                        <td><input type="text"v-model="rzObj.rz1"></td>
                        <td><input type="text"v-model="rzObj.rz2"></td>
                        <td><input type="text"v-model="rzObj.rz3"></td>
                        <td><input type="text"v-model="rzObj.rz4"></td>
                    </tr>
                </table>
                <div class="button_box">
                    <el-button type="primary" v-if="next_status == 2" size="mini" class="complete" @click="complete">完成实验</el-button>
                    <el-button type="primary" size="mini" @click="reset">重置数据</el-button>
                    <el-button type="primary" size="mini" >保存数据</el-button>
                    <el-button type="primary" size="mini" @click="next()">{{ next_status==1?"下一步实验":"上一步实验" }}</el-button>
                </div>
            </div>
        </div>
        <div class="content_cent">
            <el-table :data="tableData" style="width: 100%" max-height="330px">
                <el-table-column prop="id" label="ID" align="center"></el-table-column>
                <el-table-column prop="saveTime" label="数据保存时间" width="150" align="center"></el-table-column>
                <el-table-column prop="experimentId" label="设备SN" width="150" align="center"></el-table-column>
                <el-table-column label="设备类型" align="center">
                    <template slot-scope="scope">
                        <div>
                            <span>{{ scope.row.deviceId?dutList[scope.row.deviceId-1].label:"" }}</span>
                        </div>
                    </template>
                </el-table-column>
                <el-table-column prop="winding" label="绕组编号" align="center"></el-table-column>
                <el-table-column prop="resistance" :label="next_status==1?'绝缘电阻值(Ω)':'直流电阻值(Ω)'" width="110" align="center"></el-table-column>
                <el-table-column prop="electricCurrent" :label="next_status==1?'电流(μA)':'电流(mA)'" align="center"></el-table-column>
                <el-table-column prop="vol" label="电压(V)" align="center"></el-table-column>
                <el-table-column prop="realName" label="测试人" align="center"></el-table-column>
                <el-table-column label="操作" align="center" fixed="right" width="130">
                    <template slot-scope="scope">
                        <div>
                            <el-button type="error" size="mini" @click="handleDel(scope.row)">删除</el-button>
                            <el-button @click="handleUpdate(scope.row)" type="success" size="mini">编辑</el-button>
                        </div>
                    </template>
                </el-table-column>
            </el-table>
            <div class="clear"></div>
        </div>
    </div>
    <div class="clear"></div>
</div>
</template>
<script>
import { getDataList,daleteData,getThisNumber,complete } from "./js/apis"
export default {
    data(){
        return {
            thisNumber:"",
            disStatus:false,
            list_status:1,
            next_status:1,
            dutList:[
                {value:1,label:"1型号电机"},
                {value:2,label:"2型号电机"},
                {value:3,label:"3型号电机"},
                {value:4,label:"3型号电机"},
                {value:5,label:"4型号电机"},
            ],
            rzObj:{
                rz1:"",
                rz2:"",
                rz3:"",
                rz4:""
            },
            tebleList:[
                {rz1:"",rz2:"",rz3:"",rz4:"",name:"绕组1"},
                {rz1:"",rz2:"",rz3:"",rz4:"",name:"绕组2"},
                {rz1:"",rz2:"",rz3:"",rz4:"",name:"绕组3"},
            ],
            tableData:[],
            selsectVal:1,
            options:[
                {value:1,label:"测各相绕组引线"},
                {value:2,label:"测绕组引线"},
            ],
        }
    },
    components:{
        // ContentBox
    },
    mounted() {
        this.getList();
        this.getThisNumber();
    },
    methods: {
        // 完成试验
        complete:function(){
            let self = this;
            let data = {
                id:self.thisNumber
            }
                complete(data).then(res=>{
                    if(res.data.code == 1){
                        this.$router.push({
                            path: '/index/testManager/noTest',
                        })
                    }
                })
        },
        // 查询当前试验编号
        getThisNumber:function(){
            let self = this;
            let data = {
                type : "rz"
            };
                getThisNumber(data).then(res=>{
                    if(res.data.code == 1){
                        self.thisNumber = res.data.data;
                        console.log(self.thisNumber)
                    }
                })
        },
        // 重置
        reset:function(){
            this.tebleList = this.$options.data().tebleList;
            this.rzObj = this.$options.data().rzObj;
        },
        // 删除
        handleDel:function(data){
            let self = this;
            let params = {
                    experimentId:data.experimentId
                }
                self.$confirm("确认删除", "提示", {
                    confirmButtonText: '确定',
                    cancelButtonText: '取消',
                    type: 'warning'
                }).then(()=>{
                    daleteData(params).then(res=>{
                        if(res.data.code == 1){
                            self.$layer.msg("删除成功");
                            self.getList();
                        }else{
                            self.$layer.msg("删除失败");
                        }
                    }).catch(err=>{
                        self.$layer.msg("删除失败");
                    })
                }).catch(err=>{
                })
            console.log(data)
        },
        // 编辑
        handleUpdate:function(data){
            let self = this;
            if(self.tebleList.length>1){
                self.tebleList[data.indexId-1].rz1 = data.electricCurrent;//电流
                self.tebleList[data.indexId-1].rz2 = data.vol;//电压
                self.tebleList[data.indexId-1].rz3 = data.resistance;//绝缘电阻
                self.tebleList[data.indexId-1].rz4 = data.temperature;//温度
            }else{
                self.rzObj.rz1 = data.electricCurrent;//电流
                self.rzObj.rz2 = data.vol;//电压
                self.rzObj.rz3 = data.resistance;//绝缘电阻
                self.rzObj.rz4 = data.temperature;//温度
            }
            console.log(data)
        },
        // 初始化查询
        getList:function(){
            let self = this;
                self.list_status = self.selsectVal == 1?1:2;
            let data = {
                    step:self.next_status,
                    pageNum:1,
                    pageSize:1000
                }
                getDataList(data).then(res=>{
                    let result = res.data.data;
                        self.tableData = result.list;
                        if(self.tableData.length>0){
                            self.disStatus = true;
                        }
                    console.log(res)
                }).catch(err=>{
                })
        },
        // 上/下一步实验
        next:function(){
            let self = this;
                switch (self.next_status) {
                    case 1:
                        self.next_status = 2;
                        break;
                    case 2:
                        self.next_status = 1;
                        break;
                    default:
                        break;
                }
                self.getList();
        },
    },
    destroyed(){
    }
}
</script>
<style scoped>
.clear{
    clear: both;
}
.bg01{
    background: url("./images/bg01.png") 0 0 no-repeat;
    background-size: 100% 100%;
}
.bg02{
    background: url("./images/bg02.png") 0 0 no-repeat;
    background-size: 100% 100%;
}
.body_box{
    width: 100%;
    height: 100%;
    background: url("../../assets/images/contentBox-bg.jpg") 0 0 no-repeat;
    background-size: 100% 100%;
    padding: 0.75rem 1rem;
}
.tipTitle{
    margin-top: 10px;
}
.left_Box,.content_box,.right_box{
    float: left;
    height: 95%;
    margin: 0 4px;
}
.left_Box{
    width: 34%;
    height: 95%;
}
.content_box{
    width: 65%;
}
.title_list{
    font-size: 12px;
}
.title_into{
    padding-left:40%;
}
.table_box{
    background-color:#fff;
}
.table_box table{
    width: 100%;
}
.table_box th,.table_box td{
    border: 1px solid #ccc;
    text-align: center;
    width: 20%;
}
.table_box th{
    background-color: #676FE8;
}
.table_box td input{
    border: none;
    text-align: center;
    outline: none;
    background-color: rgba(0, 0, 0, 0);
}
.list_title{
    color:#666666;
}
.button_box{
    text-align: right;
    padding: 10px 10px;
}
.content_cent{
    width: 100%;
}
.select_st /deep/ .el-input__inner{
    border: none;
    text-align: center;
    outline: none;
    background-color: rgba(0, 0, 0, 0);
    color: #fff;
    font-size: 18px;
}
/deep/.el-select__caret{
    color: #fff !important;
}
.complete{
    margin-right: 30%;
}
</style>
src/pages/windingTest/windingTestIndex.vue
New file
@@ -0,0 +1,248 @@
<template>
    <div class="contentBox">
        <el-dialog
            :visible.sync="dialogVisible"
            class="position-absolute dialog-center dialog-no-header"
            width="750px"
            top="0"
            :modal="false"
            :close-on-press-escape="false"
            :close-on-click-modal="false"
            :modal-append-to-body="false">
            <mw-step v-model="step"></mw-step>
            <div class="step-list">
                <div class="step-item" v-if="step == 0">
                    <el-form ref="form" label-width="120px">
                        <el-form-item label="试验名称:">
                            <el-input size="mini" v-model="fromObj01.symc" class="width_260"></el-input>
                        </el-form-item>
                        <el-form-item label="试验项目名称:">
                            <el-select v-model="fromObj01.syxmmc" class="select_st width_260">
                                <el-option
                                v-for="item in itemNameList"
                                :key="item.id"
                                :label="item.name"
                                :value="item.id">
                                </el-option>
                            </el-select>
                        </el-form-item>
                    </el-form>
                    <div class="btn_box">
                        <el-button type="primary" @click="next">下一步</el-button>
                    </div>
                </div>
                <div class="step-item" v-if="step == 1">
                    <el-form ref="form" label-width="120px">
                        <el-form-item label="当前试验编号:">
                            <el-input size="mini" v-model="fromObj02.dqsybh" :readonly="true" class="width_260"></el-input>
                        </el-form-item>
                        <el-form-item label="被测设备SN:">
                            <el-input size="mini" v-model="fromObj02.bcsbsn" class="width_260"></el-input>
                        </el-form-item>
                        <el-form-item label="被测设备类型:">
                            <el-select v-model="fromObj02.bcsblx" class="select_st width_260">
                                <el-option
                                v-for="item in dutList"
                                :key="item.value"
                                :label="item.label"
                                :value="item.value">
                                </el-option>
                            </el-select>
                        </el-form-item>
                        <el-form-item label="各相绕组连接情况:">
                            <el-select v-model="fromObj02.gxrzljqk" class="select_st width_260">
                                <el-option
                                v-for="item in gxrzljqkList"
                                :key="item.value"
                                :label="item.label"
                                :value="item.value">
                                </el-option>
                            </el-select>
                        </el-form-item>
                    </el-form>
                    <div class="btn_box">
                        <el-button type="primary" @click="step--">上一步</el-button>
                        <el-button type="primary" @click="next">下一步</el-button>
                    </div>
                </div>
                <div class="step-item explain" v-if="step == 2">
                    <p><b>实验目的:</b>该试验项点包括电机绕组绝缘电阻的测量以及直流端电阻的测定。</p>
                    <p><b>实验要求:</b>测量电机绕组的绝缘电阻时,应分别在实际冷态下和热状态(热试验后)下进行。检查试验时,如无其他规定,允许在实际冷状态下进行测量。测量绝缘电阻时应同时测量并记录绕组温度,在实际冷状态下测量时可取周围介质温度作为绕组温度。</p>
                    <p><b>实验步骤:</b><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;①测量绕组绝缘电阻:测量绕组绝缘电阻时,如各相绕组的始末端均引出,则应分别测量各绕组对机壳及绕组相互间的绝缘电阻,这时不参加试验的其他绕组和埋置检温计等原件应与铁芯或机壳作电气连接,机壳应接地。如电机绕组已在电机内部连接仅引出出线端时,则测量所有连在一起的绕组对机壳的绝缘电阻。
                                            测量时,应在试验电压施加1min后读取数据,并记录绕组温度。根据GB 755-2008规定,被测绕组额定电压UN≤1000V,绝缘电阻直流测量电压为500V或双方按照规定电压。
                                            绝缘电阻测量结束后,每个回路应对地放电。<br/>
                                            ②测量直流电阻时,可通过微欧计测量各个绕组的冷态直流电阻数值。</p>
                    <div class="btn_box">
                        <el-button type="primary" @click="beginTest">开始试验</el-button>
                    </div>
                </div>
            </div>
        </el-dialog>
    </div>
</template>
<script>
import mwStep from "@/components/smallModule/mwStep";
import { getItemName,getThisNumber,beginTest } from "./js/apis"
export default {
    name: 'loadTest',
    components: {
        mwStep
    },
    data() {
        return {
            userName:"",
            step: 0,
            dialogVisible: true,
            itemNameList:[],
            fromObj01:{
                symc:"",
                syxmmc:"",
            },
            fromObj02:{
                dqsybh:"",
                bcsbsn:"",
                bcsblx:1,
                gxrzljqk:0,
            },
            dutList:[
                {value:1,label:"1型号电机"},
                {value:2,label:"2型号电机"},
                {value:3,label:"3型号电机"},
                {value:4,label:"3型号电机"},
                {value:5,label:"4型号电机"},
            ],
            gxrzljqkList:[
                {value:0,label:"各相绕组的始末端均引出"},
                {value:1,label:"绕组已在电机内部连接"}
            ]
        }
    },
    methods: {
        // 下一步
        next:function(){
            let self = this;
                switch (self.step) {
                    case 0:
                            if(self.fromObj01.symc == "" || self.fromObj01.syxmmc == ""){
                                self.$layer.msg("试验名称 或 试验项目名称 不能为空!");
                            }else{
                                self.step++
                                self.getThisNumber();
                            }
                        break;
                    case 1:
                            if(self.fromObj02.dqsybh == "" || self.fromObj02.bcsbsn == ""){
                                self.$layer.msg("被测设备SN 不能为空!");
                            }else{
                                self.step++
                            }
                        break;
                    default:
                        break;
                }
        },
        // 查询试验项目名称
        getItemName:function(){
            let self = this;
                getItemName().then(res=>{
                    if(res.data.code == 1){
                        let result = res.data;
                            self.itemNameList = result.data;
                    }
                    console.log(res)
                })
        },
        // 查询当前试验编号
        getThisNumber:function(){
            let self = this;
            let data = {
                type : "rz"
            };
                getThisNumber(data).then(res=>{
                    if(res.data.code == 1){
                        self.fromObj02.dqsybh = res.data.data;
                    }
                })
        },
        // 获取测试人
        // getUserName:function(){
        //     let self = this;
        //     console.log(sessionStorage.getItem("uid"))
        //     let data = {
        //         id:sessionStorage.getItem("uid")
        //     }
        //         getUserName(data).then(res=>{
        //             if(res.data.code == 1){
        //                 self.userName = res.data.data;
        //                 console.log(self.userName)
        //             }
        //         })
        // },
        // 开始试验
        beginTest:function(){
            let self = this;
            let data = {
                id:self.fromObj02.dqsybh,
                name:self.fromObj01.symc,
                type:"rz",
                deviceSn:self.fromObj02.bcsbsn,
                rz_link:self.fromObj02.gxrzljqk,
                deviceId:self.fromObj02.bcsblx,
                userId:sessionStorage.getItem("uid"),
                projectId:self.fromObj01.syxmmc
            }
                beginTest(data).then(res=>{
                    if(res.data.code == 1){
                        this.$router.push({
                            path: '/index/windingTest',
                        })
                    }else{
                        self.$layer.msg("添加失败,请核对!");
                    }
                })
        }
    },
    computed: {
    },
    mounted() {
        let self = this;
            self.getItemName();
    }
}
</script>
<style scoped>
.width_260{
    width: 260px;
}
.btn_box{
    text-align: right;
    padding: 0 20px 20px 0;
}
.step-list{
    margin-top: 10px;
}
.step-item /deep/.el-input__inner{
    background-color: #fff;
    color: #606266;
    border: 1px solid #dcdfe6;
}
.step-item /deep/ .el-select__caret{
    color:#606266 !important;
}
.explain p{
    padding: 10px 10px;
}
</style>
src/router/routes.js
@@ -176,7 +176,28 @@
                name: '直流配电板监控',
            },
            component: (resolve) => require(['@/pages/dcSwitchboard/dcSwitchboard.vue'], resolve),
        }, { //空载试验
        }, { //绕组电阻测定试验
            path: 'windingTest',
            name: 'windingTest',
            meta: {
                name: '绕组电阻测定试验',
            },
            component: (resolve) => require(['@/pages/windingTest/windingTest.vue'], resolve),
          }, { //升压变压器监控
            path: 'boostingTransformer',
            name: 'boostingTransformer',
            meta: {
                name: '升压变压器监控',
            },
            component: (resolve) => require(['@/pages/boostingTransformer/boostingTransformer.vue'], resolve),
          }, { //绕组电阻测定试验主页面
            path: 'windingTestIndex',
            name: 'windingTestIndex',
            meta: {
                name: '绕组电阻测定试验主页面',
            },
            component: (resolve) => require(['@/pages/windingTest/windingTestIndex.vue'], resolve),
          }, { //空载试验
            path: 'noLoadTest',
            name: 'noLoadTest',
            meta: {