8 Commits

Author SHA1 Message Date
GGJ
f4a22dbed1 联调cvt执行算法页面 2025-03-11 15:29:31 +08:00
GGJ
566949569a Merge branch 'master' of http://192.168.1.22:3000/root/HB_PMS3.0_WEB 2025-03-10 11:29:55 +08:00
GGJ
52a0b67f96 联调cvt执行算法 修改测试bug 2025-03-10 11:29:46 +08:00
cdf
50573bb748 验收问题修改 2025-03-10 09:13:12 +08:00
cdf
15e1be00af 问题修改 2025-03-06 16:57:05 +08:00
cdf
4233317f5d 问题修改 2025-03-06 16:50:07 +08:00
cdf
452e0f3dbb 问题修改 2025-03-06 14:44:33 +08:00
GGJ
72051ba10e 联调cvt系数页面与cvt绑定 2025-02-12 14:00:11 +08:00
38 changed files with 2648 additions and 1048 deletions

57
src/api/CVT/index.js Normal file
View File

@@ -0,0 +1,57 @@
import request from '@/utils/request'
// 新增cvt系数
export function addCVT(data) {
return request({
url: '/device-boot/cvt/add',
method: 'post',
data: data
})
}
// 删除cvt系数
export function deleteById(data) {
return request({
url: '/device-boot/cvt/deleteById',
method: 'post',
params: data
})
}
// 分页查询cvt
export function queryPage(data) {
return request({
url: '/device-boot/cvt/queryPage',
method: 'post',
data
})
}
// 修改cvt系数
export function updateCvt(data) {
return request({
url: '/device-boot/cvt/updateCvt',
method: 'post',
data: data
})
}
// 新增cvt系数绑定
export function cvtBind(data) {
return request({
url: '/device-boot/cvtBind/add',
method: 'post',
data: data
})
}
// 根据监测点id查询绑定cvt系数
export function queryByLineId(data) {
return request({
url: '/device-boot/cvtBind/queryByLineId',
method: 'post',
params: data
})
}
// 执行算法
export function measurementPointExecutorByHour(data) {
return request({
url: '/prepare-boot/executor/measurementPointExecutorByHour',
method: 'post',
data
})
}

View File

@@ -8,6 +8,16 @@ export function getAllMonitorPageList(data) {
data
})
}
export function getAllMainUserPageList(data) {
return request({
url: '/device-boot/pms/monitor/getAllMainUserPageList',
method: 'post',
data
})
}
// 新增牵引站信息
export function addMonitor(data) {
return request({

View File

@@ -51,3 +51,11 @@ export function objType(data) {
params: data
})
}
export function objTypeStatis(data) {
return request({
url: '/device-boot/monitorStatistics/objTypeStatis',
method: 'post',
params: data
})
}

View File

@@ -9,7 +9,7 @@
v-show="!collapse"
class="sidebar-title"
:style="{ fontSize: settings.layout === 'layout1' && settings.title.length >= 8 ? '14px' : '24px'}"
>{{ settings.title }} </h1>
>{{ settings.title }} <span style="font-size: 14px">(v1.0.0)</span> </h1>
</transition>
</div>
</div>

View File

@@ -1508,7 +1508,7 @@ export const asyncRoutes = [
path: '/Accountmanagement/uploadGw',
name: 'pmsUploadGw',
component: () => import('@/views/Account-management/components/uploadGw/index'),
meta: { title: '干扰源台账上送', icon: 'user' }
meta: { title: '主网用户台账', icon: 'user' }
},
{
path: '/pw/user/pwMonitorOnline',

View File

@@ -615,7 +615,8 @@ export default {
//台区台账表头
tableHeaderMonitoring: [
// { prop: 'id', label: '监测点编号', width: 120 },
{ prop: 'name', label: '监测名称', width: 220 },
{ prop: 'monitorObjectName', label: '监测对象名称', width: 250 },
{ prop: 'name', label: '测点名称', width: 220 },
{ prop: 'orgName', label: '组织机构名称', width: 170 },
{ prop: 'operationName', label: '运维单位名称', width: 170 },
{ prop: 'powerrName', label: '变电站名称', width: 120 },
@@ -654,7 +655,7 @@ export default {
{ prop: 'objType', label: '对象类型', width: 170 },
// { prop: "monitorObjectId", label: "监测对象编号", width:170 },
{ prop: 'monitorObjectName', label: '监测对象名称', width: 170 },
{ prop: 'tradeCode', label: '行业分类', width: 170 },
{ prop: 'statisticalInterval', label: '统计间隔(min)', width: 140 },
{ prop: 'terminalCode', label: '关联的监测终端编号', width: 190 },
@@ -1401,7 +1402,7 @@ export default {
const url = window.URL.createObjectURL(blob)
const link = document.createElement('a') // 创建a标签
link.href = url // link.download = "电压暂降事件分析报告"; // 设置下载的文件名
link.download = '上送典型台账.xls' // 设置下载的文件名
link.download = '典型台账.xls' // 设置下载的文件名
document.body.appendChild(link)
link.click() //执行下载
document.body.removeChild(link)

View File

@@ -214,7 +214,7 @@ export default {
tableHeaderLine: [
{ prop: 'midBusId', label: '同源线路编号' },
{ prop: 'midBusName', label: '同源母线名称' },
{ prop: 'name', label: '线路名称' },
{ prop: 'name', label: '名称' },
{ prop: 'scale', label: '电压等级' },
{ prop: 'generatrixName', label: '所属母线' },
{ prop: 'stationName', label: '所属电站' },

View File

@@ -2,8 +2,12 @@
<template>
<div>
<el-form :inline="true" :model="ruleForm" class="demo-form-inline">
<el-form-item>
<Area @click="handleNodeArea"></Area>
</el-form-item>
<el-form-item label="信息查询:">
<el-input v-model.trim="ruleForm.searchValue" placeholder="请输入查询信息" clearable></el-input>
<el-input v-model.trim="ruleForm.searchValue" placeholder="请输入台区名称,所属线路" clearable></el-input>
</el-form-item>
<el-form-item>
@@ -174,8 +178,9 @@ import {
} from '@/api/hbaccountoperation/StationAreaInformation'
import { deptTree } from '@/api/admin/dept'
import { dicData } from '@/assets/commjs/dictypeData'
import Area from '@/views/components/Area/Area.vue'
export default {
components: { PMS_Data, Organization, Operation },
components: { PMS_Data, Organization, Operation,Area },
data() {
return {
vh: '',
@@ -187,7 +192,8 @@ export default {
ruleForm: {
searchValue: '',
pageNum: 1,
pageSize: 20
pageSize: 20,
orgId:JSON.parse(window.sessionStorage.getItem('Info')).deptId,
// orderBy: "",
// searchBeginTime: "",
// searchEndTime: "",
@@ -791,6 +797,11 @@ export default {
row.row.isUpToGrid = '是'
}
},
handleNodeArea(data) {
this.ruleForm.orgId = data.id
},
//导出
exportEvent() {
getPowerDistributionAreaList({

File diff suppressed because it is too large Load Diff

View File

@@ -4,10 +4,12 @@
<el-col>
<el-tabs v-model.trim="activeName" @tab-click="handleClick" type="border-card">
<el-tab-pane label="主网监测点台帐" name="second" :style="'height:' + vh + ';'">
<Monitoringpoint v-if="activeName == 'second'"></Monitoringpoint>
<el-tab-pane label="主网用户台账" name="Typical" :style="'height:' + vh + ';'">
<Typical :flag="1" v-if="activeName == 'Typical'"></Typical>
</el-tab-pane>
<el-tab-pane label="主网用户台账统计" name="statistics" :style="'height:' + vh + ';'">
<statistics v-if="activeName == 'statistics'"></statistics>
</el-tab-pane>
</el-tabs>
</el-col>
@@ -16,18 +18,20 @@
</template>
<script>
import Monitoringpoint from '../../components/Monitoringpoint'
import statistics from '@/views/Account-management/components/uploadGw/statistics'
import Typical from '@/views/Account-management/components/uploadGw/Monitoringpoint'
export default {
name: 'uploadGw',
components: {
Monitoringpoint
Typical,
statistics
},
data() {
return {
vh: '',
activeName: 'first',
activeName: 'Typical',
device: ''
}
},

View File

@@ -0,0 +1,172 @@
<template>
<div>
<el-form :inline="true" :model="ruleForm" class="demo-form-inline">
<el-form-item>
<Area @click="handleNodeArea"></Area>
</el-form-item>
<el-form-item>
<el-button type="primary" class="ml10" icon="el-icon-search" @click="Power">查询</el-button>
<el-button type="primary" icon="el-icon-download" @click="exportEvent">导出</el-button>
</el-form-item>
</el-form>
<template>
<vxe-table
stripe
:data="busData"
:height="height"
border
size="mini"
ref="setInformation"
v-loading="isLoading"
header-cell-class-name="table_header"
>
<vxe-table-column
v-for="(val, index) in tableHeaderPower"
align="center"
:field="val.prop"
:title="val.label"
:min-width="val.width"
:show-overflow="true"
></vxe-table-column>
</vxe-table>
</template>
</div>
</template>
<script>
// import bus from "@/assets/js/eventBus";
import { objType, objTypeStatis } from '@/api/hbaccountoperation/setInformation'
import Area from '@/views/components/Area/Area.vue'
import { dicData } from '@/assets/commjs/dictypeData'
export default {
components: { Area },
data() {
return {
ruleForm: {
deptId: JSON.parse(window.sessionStorage.getItem('Info')).deptId,
up:0
},
height: null,
isLoading: false,
multipleSelection: [],
Voltagelevel: [], //电压等级
//台区台账表头
tableHeaderPower: [],
busData: []
}
},
created() {},
mounted() {
this.setHeight()
window.addEventListener('resize', this.setHeight)
this.Power()
// this.sendMessage()
},
beforeDestroy() {
window.removeEventListener('resize', this.setHeight)
},
computed: {},
methods: {
setHeight() {
this.device = window.devicePixelRatio
this.height = window.sessionStorage.getItem('appheight') - 130
},
handleNodeArea(data) {
this.ruleForm.deptId = data.id
},
//获取类型
//查询母线信息
Power() {
this.isLoading = true
this.tableHeaderPower = []
this.busData = []
objTypeStatis(this.ruleForm).then(res => {
let data = res.data
let result = data[0].reduce(
(acc, item) => {
if (item === '合计') {
acc.push([])
} else {
acc[acc.length - 1].push(item)
}
return acc
},
[[]]
)
Array.from(result[0]).forEach((char, i) => {
this.tableHeaderPower.push({
prop: `prop${i}`,
label: char,
width: char.length > 9 ? 250 : 130
})
})
this.tableHeaderPower[0].width = 350
console.log(this.tableHeaderPower)
data.shift()
data.forEach((item, ind) => {
// console.log('🚀 ~ objType ~ item:', item)
this.busData.push({})
Array.from(item).forEach((char, i) => {
this.busData[ind][`prop${i}`] = char
})
})
console.log(this.busData)
this.isLoading = false
})
},
//导出
exportEvent() {
objType({
deptId: this.ruleForm.deptId
}).then(res => {
this.$refs.setInformation.exportData({
filename: '台账上送统计', // 文件名字
sheetName: 'Sheet1',
type: 'xlsx', //导出文件类型 xlsx 和 csv
useStyle: true,
data: res.data.records, // 数据源 // 过滤那个字段导出
columnFilterMethod: function (column, $columnIndex) {
return !(column.$columnIndex === 0)
}
})
})
}
}
}
</script>
<style lang="less" scoped>
@import url('../../../../styles/comStyle.less');
::v-deep .vxe-table .cell {
text-align: center;
}
::v-deep .el-tabs--border-card > .el-tabs__content {
padding: 10px;
}
.pms {
margin-left: 10px;
}
.obtain {
margin-left: 1220px;
}
</style>

View File

@@ -10,6 +10,11 @@
<el-tab-pane label="主网监测点台帐" name="second" :style="'height:' + vh + ';'">
<Monitoringpoint v-if="activeName == 'second'"></Monitoringpoint>
</el-tab-pane>
<el-tab-pane label="主网监测点限值" name="Zhuwangjiancedianxianzhi" :style="'height:' + vh + ';'">
<Zhuwangjiancedianxianzhi
v-if="activeName == 'Zhuwangjiancedianxianzhi'"
></Zhuwangjiancedianxianzhi>
</el-tab-pane>
<!-- <el-tab-pane
label="配网监测点台帐"
@@ -31,15 +36,15 @@
<PowerGenerationAccount v-if="activeName == 'fifth'" />
</el-tab-pane>
<el-tab-pane label="监测终端台帐" name="sixth" :style="'height:' + vh + ';'">
<el-tab-pane label="终端台帐" name="sixth" :style="'height:' + vh + ';'">
<TerminalAccount v-if="activeName == 'sixth'"></TerminalAccount>
</el-tab-pane>
<el-tab-pane label="电站监测点设置信息" name="seventh" :style="'height:' + vh + ';'">
<el-tab-pane label="电站台账" name="seventh" :style="'height:' + vh + ';'">
<setInformation v-if="activeName == 'seventh'"></setInformation>
</el-tab-pane>
<el-tab-pane label="牵引站信息" name="eighth" :style="'height:' + vh + ';'">
<el-tab-pane label="牵引站台账" name="eighth" :style="'height:' + vh + ';'">
<TractionStationInformation v-if="activeName == 'eighth'"></TractionStationInformation>
</el-tab-pane>
@@ -47,15 +52,11 @@
<transformer v-if="activeName == 'ninth'"></transformer>
</el-tab-pane>
<el-tab-pane label="线台账" name="tenth" :style="'height:' + vh + ';'">
<el-tab-pane label="线台账" name="tenth" :style="'height:' + vh + ';'">
<RouteTable v-if="activeName == 'tenth'"></RouteTable>
</el-tab-pane>
<el-tab-pane label="主网监测点限值" name="Zhuwangjiancedianxianzhi" :style="'height:' + vh + ';'">
<Zhuwangjiancedianxianzhi
v-if="activeName == 'Zhuwangjiancedianxianzhi'"
></Zhuwangjiancedianxianzhi>
</el-tab-pane>
<el-tab-pane label="上送典型台账" name="Typical" :style="'height:' + vh + ';'">
<el-tab-pane label="典型台账" name="Typical" :style="'height:' + vh + ';'">
<Typical :flag="1" v-if="activeName == 'Typical'"></Typical>
</el-tab-pane>
<el-tab-pane label="台账上送统计" name="statistics" :style="'height:' + vh + ';'">

View File

@@ -644,7 +644,7 @@ export default {
let echartsColor = JSON.parse(window.localStorage.echartsColor)
let option = {
title: {
text: '各单位指标',
text: '谐波指标',
left: 'center',
top: '5px',
textStyle: {

View File

@@ -278,7 +278,7 @@ export default {
let option = {
title: {
text: '各单位指标',
text: '指标',
left: 'center',
top: '5px',
textStyle: {

View File

@@ -271,7 +271,7 @@ export default {
let option = {
title: {
text: '各单位指标',
text: '指标',
left: 'center',
top: '5px',
textStyle: {

View File

@@ -18,9 +18,9 @@
<influence v-if="activeName == '4'"></influence>
</el-tab-pane>
<!-- <el-tab-pane label="详细数据表" name="5" :style="'height:' + vh + ';'">
<el-tab-pane label="详细数据表" name="5" :style="'height:' + vh + ';'">
<dataSheet v-if="activeName == '5'"></dataSheet>
</el-tab-pane> -->
</el-tab-pane>
</el-tabs>
</el-col>
</el-row>

View File

@@ -278,7 +278,7 @@ export default {
let option = {
title: {
text: '各单位指标',
text: '指标',
left: 'center',
top: '5px',
textStyle: {

View File

@@ -271,7 +271,7 @@ export default {
let option = {
title: {
text: '各单位指标',
text: '谐波指标',
left: 'center',
top: '5px',
textStyle: {

View File

@@ -19,9 +19,9 @@ l
<influence v-if="activeName == '4'"></influence>
</el-tab-pane>
<!-- <el-tab-pane label="详细数据表" name="5" :style="'height:' + vh + ';'">
<el-tab-pane label="详细数据表" name="5" :style="'height:' + vh + ';'">
<dataSheet v-if="activeName == '5'"></dataSheet>
</el-tab-pane> -->
</el-tab-pane>
</el-tabs>
</el-col>
</el-row>

View File

@@ -275,7 +275,7 @@ export default {
let option = {
title: {
text: '各单位指标',
text: '谐波指标',
left: 'center',
top: '5px',
textStyle: {

View File

@@ -126,10 +126,10 @@ export default {
let hours = []
let days = [
'负序电压不平衡度',
'负序电压不平衡度平均超标天数',
'三项电压不平衡度',
'三项电压不平衡度平均超标天数',
'谐波电压平均超标天数',
'负序电压不平衡度超标占比'
'三项电压不平衡度超标占比'
]
let data = []
@@ -271,7 +271,7 @@ export default {
let option = {
title: {
text: '各单位指标',
text: '谐波指标',
left: 'center',
top: '5px',
textStyle: {

View File

@@ -19,9 +19,9 @@ l
<influence v-if="activeName == '4'"></influence>
</el-tab-pane>
<!-- <el-tab-pane label="详细数据表" name="5" :style="'height:' + vh + ';'">
<el-tab-pane label="详细数据表" name="5" :style="'height:' + vh + ';'">
<dataSheet v-if="activeName == '5'"></dataSheet>
</el-tab-pane> -->
</el-tab-pane>
</el-tabs>
</el-col>
</el-row>

View File

@@ -21,10 +21,10 @@
</el-col>
</el-row>
<el-row :style="`height:${vh};position: relative;`">
<el-radio-group v-model="radio1" class="radioGroup" size="mini" @change="change">
<!-- <el-radio-group v-model="radio1" class="radioGroup" size="mini" @change="change">
<el-radio-button label="1">电压指标</el-radio-button>
<el-radio-button label="2">电流指标</el-radio-button>
</el-radio-group>
</el-radio-group>-->
<el-col :span="24" :style="`height:${vh}`">
<div v-loading="isLoading" id="electr3" style="width: 100%; height: 100%" />
</el-col>
@@ -605,7 +605,7 @@ export default {
let echartsColor = JSON.parse(window.localStorage.echartsColor)
let option = {
title: {
text: '各单位指标',
text: '谐波指标',
left: 'center',
top: '5px',
textStyle: {

View File

@@ -278,7 +278,7 @@ export default {
let option = {
title: {
text: '各单位指标',
text: '谐波指标',
left: 'center',
top: '5px',
textStyle: {

View File

@@ -273,7 +273,7 @@ export default {
let option = {
title: {
text: '各单位指标',
text: '谐波指标',
left: 'center',
top: '5px',
textStyle: {

View File

@@ -489,6 +489,7 @@ export default {
watch: {
//当前的树节点
currentNode2(newValue) {
console.log("🚀 ~ currentNode2 ~ newValue:", newValue)
this.treeMenuData = newValue
if (val) {
this.$nextTick(() => {

View File

@@ -43,14 +43,8 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item label="CVT型号:" v-show="condition.includes('40')">
<!-- <el-cascader
v-model="cvt"
:options="cvtList"
:props="{ expandTrigger: 'hover' }"
clearable
filterable
></el-cascader> -->
<!-- <el-form-item label="CVT型号:" v-show="condition.includes('40')">
<el-select v-model="cvt" value-key="value" clearable filterable placeholder="请选择CVT型号">
<el-option
v-for="item in cvtList"
@@ -59,7 +53,7 @@
:value="item"
></el-option>
</el-select>
</el-form-item>
</el-form-item> -->
<el-form-item v-show="jxb" label="间谐波次数:">
<el-select v-model="formData.inHarmonic" placeholder="请选择间谐波">
<el-option

View File

@@ -12,15 +12,17 @@
执行日期:
<el-date-picker
v-model="time"
type="daterange"
type="datetimerange"
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd HH:mm:ss"
:picker-options="pickerOptions"
:clearable="false"
></el-date-picker>
</div>
<el-button type="primary" @click="handleClose"> </el-button>
<el-button type="primary" @click="execute"> </el-button>
</div>
<el-input placeholder="输入关键字检索" v-model="filterText" style="margin-bottom: 10px" clearable>
<i slot="prefix" class="el-input__icon el-icon-search"></i>
@@ -32,6 +34,7 @@
:show-checkbox="true"
:default-expanded-keys="expandID"
node-key="id"
:filter-node-method="filterNode"
:check-strictly="false"
:expand-on-click-node="true"
:highlight-current="true"
@@ -55,12 +58,14 @@
<script>
import api from '@/api/harmonic/onlineData'
import { dicData } from '@/assets/commjs/dictypeData'
import { measurementPointExecutorByHour } from '@/api/CVT/index.js'
export default {
components: {},
props: {},
data() {
return {
time: [new Date(), new Date()],
time: [],
// value1: [new Date(2000, 10, 10, 10, 10), new Date(2000, 10, 11, 10, 10)],
dialogVisible: false,
checkedarr: [],
fiveData: [],
@@ -78,16 +83,23 @@ export default {
scale: null
},
filterText: '',
fiveData: []
fiveData: [],
fatherID: [],
pickerOptions: {
disabledDate(time) {
return time.getTime() > Date.now() - 8.64e6
// 或者return time.getTime() > Date.now();
}
}
}
},
created() {},
watch: {
filterText(val) {
this.$refs.menuTree.filter(val)
}
},
methods: {
handleFilter(val) {
this.$refs.menuTree.filter(val)
},
// 点击树节点
treeckeck(data, checked, indeterminate) {},
open() {
@@ -99,8 +111,23 @@ export default {
this.chuli()
}
})
// 获取年份
const year = new Date().getFullYear()
// 获取月份注意getMonth 返回值是 0 - 11所以要加 1并确保是两位数
const month = String(new Date().getMonth() + 1).padStart(2, '0')
// 获取日期,并确保是两位数
const day = String(new Date().getDate()).padStart(2, '0')
// 获取小时,并确保是两位数
const hours = String(new Date().getHours()).padStart(2, '0')
// 获取分钟,并确保是两位数
const minutes = String(new Date().getMinutes()).padStart(2, '0')
// 获取秒数,并确保是两位数
const seconds = String(new Date().getSeconds()).padStart(2, '0')
this.time = [`${year}-${month}-${day} 00:00:00`, `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`]
},
chuli() {
this.fatherID = []
var data = this.fiveData
var arr = []
data.forEach(item => {
@@ -127,8 +154,10 @@ export default {
if (arr[0].children[0].children[0].children.length > 0) {
arr.forEach(m => {
m.icon = 'el-icon-menu'
this.fatherID.push(m.id)
m.children.forEach(n => {
n.icon = 'el-icon-share'
this.fatherID.push(n.id)
n.children.forEach(d => {
d.icon = 'el-icon-s-flag'
d.children.forEach((f, i) => {
@@ -147,8 +176,10 @@ export default {
} else if (arr[0].children[0].children[0].children.length == 0) {
arr.forEach(m => {
m.icon = 'el-icon-menu'
this.fatherID.push(m.id)
m.children.forEach(n => {
n.icon = 'el-icon-share'
this.fatherID.push(n.id)
n.children.forEach((d, i) => {
d.icon = 'el-icon-warning'
d.name = i + 1 + '_' + d.name
@@ -168,9 +199,7 @@ export default {
window.sessionStorage.setItem('tree', this.tree)
this.expandID.push(this.currentNode)
this.$nextTick(() => {
this.$refs.menuTree.setCurrentKey(this.currentNode)
})
//初始化触发默认点击方法
//alert('初始1')
this.$emit('chushiData', this.currentNode, this.treeMenuData)
@@ -178,6 +207,7 @@ export default {
renderContent(h, { node, data, store }) {
this.onlinename = node.label
return (
<span style="flex: 1; display: flex; align-items: center; justify-content: space-between; padding-right: 8px;">
<span class="span-ellipsis">
@@ -190,11 +220,50 @@ export default {
</span>
)
},
// 执行算法
async execute() {
if (this.$refs.menuTree.getCheckedKeys().length == 0) return this.$message.error('请选择监测点!')
let data = {
beginTime: this.time[0],
dataDate: '',
endTime: this.time[1],
fullChain: false,
idList: this.$refs.menuTree.getCheckedKeys().filter(item => !this.fatherID.includes(item)),
repair: true,
tagNames: ['dataHarmRateVCvt']
}
await measurementPointExecutorByHour(data)
this.$message.success('算法执行成功!')
this.handleClose()
},
// 关闭弹窗
handleClose() {
console.log(this.time)
this.dialogVisible = false
this.$emit('close')
},
// 过滤树节点
filterNode(value, data, node) {
if (!value) {
return true
}
let _array = [] //这里使用数组存储 只是为了存储值。
this.getReturnNode(node, _array, value)
let result = false
_array.forEach(item => {
result = result || item
})
return result
},
getReturnNode(node, _array, value) {
let isPass = node.data && node.data.name && node.data.name.indexOf(value) !== -1
isPass ? _array.push(isPass) : ''
this.index++
if (!isPass && node.name != 1 && node.parent) {
this.getReturnNode(node.parent, _array, value)
}
}
},
mounted() {
@@ -207,8 +276,13 @@ export default {
},
computed: {},
watch: {
filterText(val) {
console.log('🚀 ~ filterText ~ val:', val)
watch: {}
this.$refs.menuTree.filter(val)
}
}
}
</script>
<style lang="less" scoped>
@@ -217,7 +291,7 @@ export default {
::v-deep .el-dialog .el-dialog__body {
padding: 20px !important;
}
.boxTop{
.boxTop {
display: flex;
justify-content: space-between;
}

View File

@@ -4,7 +4,6 @@
<muentree
@eleMenuData="getTreeText"
@chushiData="chushiData"
@ckeckData="ckeckData"
:checkbox="checkbox"
:number="number"
:tablename="tablename"
@@ -41,9 +40,8 @@
当前位置:
<span class="zt">{{ wezhiname }}</span>
</div>
</div>
<bindTab/>
<bindTab :clickData="clickData" ref="bindTabRef" />
</el-main>
</el-container>
</template>
@@ -83,10 +81,10 @@ export default {
view: true,
dataTree: [],
treenode: undefined,
linelist: [],
treedata: [],
deptIndex: '',
wezhiname: ''
wezhiname: '',
clickData: {}
}
},
created() {},
@@ -163,10 +161,11 @@ export default {
chushiData(id, data) {
this.id = id
window.sessionStorage.setItem('fist', id)
this.linelist.push(id)
this.treedata = data
this.wezhiname = data[0].name + '>' + data[0].children[0].name + '>' + data[0].children[0].children[0].name
this.clickData = data[0].children[0].children[0]
this.loading = false
this.$refs.bindTabRef.queryBind( this.clickData.id)
//alert(this.wezhiname)
},
//二次点击触发点击事件
@@ -174,21 +173,15 @@ export default {
if (treenode.data.level == 6) {
this.menudata = menudata
this.treenode = treenode
this.clickData = treenode.data
this.nodeCom = nodeCom
this.id = id
//this.wezhiname = name
this.linelist = []
this.linelist.push(id)
this.$refs.bindTabRef.queryBind(this.clickData.id)
} else {
return
}
},
ckeckData(checkedarr) {
this.linelist = []
//this.linelist = checkedarr
this.linelist = this.unique(checkedarr)
},
//去重
unique(arr) {
if (!Array.isArray(arr)) {

View File

@@ -1,48 +1,57 @@
<template>
<div v-loading="loading" element-loading-text="拼命加载中">
<el-form :inline="true" :model="form" class="demo-form-inline">
<el-form-item>
<!-- <el-form-item>
<timeindex :id="1" ref="fff" :interval="3"></timeindex>
</el-form-item>
</el-form-item> -->
<el-form-item label="筛选:" class="ml10">
<el-input v-model="form.search" placeholder="输入关键字搜索" style="width: 100%" />
<el-input v-model.trim="form.searchValue" placeholder="输入关键字搜索" style="width: 100%" clearable />
</el-form-item>
<el-form-item class="ml10">
<el-button type="primary" @click="querfromdata" icon="el-icon-search">查询</el-button>
<el-button type="primary" class="ml10" size="mini" icon="el-icon-plus">绑定</el-button>
<el-button type="primary" @click="handleBind" class="ml10" size="mini" icon="el-icon-sort">
绑定
</el-button>
</el-form-item>
</el-form>
<el-table
stripe
style="width: 100%"
<div style="height: calc(100vh - 150px)">
<vxe-table
:data="tables"
height="auto"
border
height="calc(100vh - 150px)"
ref="tableRef"
stripe
:row-config="{ isCurrent: true, isHover: true }"
size="mini"
v-loading="isLoading"
style="width: 100%"
header-cell-class-name="table_header"
highlight-current-row
>
<el-table-column type="selection" width="63" fixed="left"></el-table-column>
<el-table-column
v-for="item in column"
:key="item.prop"
:label="item.label"
<!-- <vxe-column type="radio" width="60"></vxe-column> -->
<vxe-column type="radio" width="65"></vxe-column>
<vxe-table-colgroup
align="center"
header-align="left"
:width="item.width"
:prop="item.prop"
v-for="(item, index) in column"
:field="item.prop"
:title="item.label"
:min-width="item.width"
show-overflow
:key="index"
>
<el-table-column
v-for="k in item.children"
:key="k.prop"
:label="k.label"
<vxe-table-colgroup
align="center"
:width="k.width"
:prop="k.prop"
/>
</el-table-column>
</el-table>
v-for="(item, index) in item.children"
:field="item.prop"
:title="item.label"
:min-width="item.width"
show-overflow
:key="index"
></vxe-table-colgroup>
</vxe-table-colgroup>
</vxe-table>
</div>
<!-- 新增修改 -->
<forms ref="formRef" />
@@ -66,350 +75,192 @@
import timeindex from '@/views/cgy-components/cgytree/TimeintervalTemplat.vue'
import forms from './forms.vue'
import algorithm from './algorithm.vue'
import { queryPage, cvtBind, queryByLineId } from '@/api/CVT/index.js'
export default {
components: { timeindex, forms, algorithm },
props: {},
props: {
clickData: {
type: Object
}
},
data() {
return {
loading: false,
form: {
currentPage: 1,
pageSize: 15,
search: ''
pageSize: 10000,
searchValue: ''
},
radioId: '',
isLoading: false,
spanArray: [], // 用于存储每个name字段合并的行数
position: 0, // 用于记录合并的位置
tables: [
{
name: '思源220kV-0.01W3',
model: 'C型',
addTime: '2021-08-23 15:23:23',
updatedTime: '2021-08-23 15:23:23',
num2: '1',
num3: '1',
num4: '1',
num5: '1',
num6: '1',
num7: '1',
num8: '1',
num9: '1',
num10: '1',
num11: '1',
num12: '1',
num13: '1',
num14: '1',
num15: '1',
num16: '1',
num17: '1',
num18: '1',
num19: '1',
num20: '1',
num21: '1',
num22: '1',
num23: '1',
num24: '1',
num25: '1',
num26: '1',
num27: '1',
num28: '1',
num29: '1',
num30: '1',
num31: '1',
num32: '1',
num33: '1',
num34: '1',
num35: '1',
num36: '1',
num37: '1',
num38: '1',
num39: '1',
num40: '1',
num41: '1',
num42: '1',
num43: '1',
num44: '1',
num45: '1',
num46: '1',
num47: '1',
num48: '1',
num49: '1',
num50: '1'
},
{
name: '思源220kV-0.01W3',
model: 'C型',
addTime: '2021-08-23 15:23:23',
updatedTime: '2021-08-23 15:23:23',
num2: '1',
num3: '1',
num4: '1',
num5: '1',
num6: '1',
num7: '1',
num8: '1',
num9: '1',
num10: '1',
num11: '1',
num12: '1',
num13: '1',
num14: '1',
num15: '1',
num16: '1',
num17: '1',
num18: '1',
num19: '1',
num20: '1',
num21: '1',
num22: '1',
num23: '1',
num24: '1',
num25: '1',
num26: '1',
num27: '1',
num28: '1',
num29: '1',
num30: '1',
num31: '1',
num32: '1',
num33: '1',
num34: '1',
num35: '1',
num36: '1',
num37: '1',
num38: '1',
num39: '1',
num40: '1',
num41: '1',
num42: '1',
num43: '1',
num44: '1',
num45: '1',
num46: '1',
num47: '1',
num48: '1',
num49: '1',
num50: '1'
},
{
name: '桂容220-0.01GH',
model: '三柱型',
addTime: '2021-08-23 15:23:23',
updatedTime: '2021-08-23 15:23:23',
num2: '1',
num3: '1',
num4: '1',
num5: '1',
num6: '1',
num7: '1',
num8: '1',
num9: '1',
num10: '1',
num11: '1',
num12: '1',
num13: '1',
num14: '1',
num15: '1',
num16: '1',
num17: '1',
num18: '1',
num19: '1',
num20: '1',
num21: '1',
num22: '1',
num23: '1',
num24: '1',
num25: '1',
num26: '1',
num27: '1',
num28: '1',
num29: '1',
num30: '1',
num31: '1',
num32: '1',
num33: '1',
num34: '1',
num35: '1',
num36: '1',
num37: '1',
num38: '1',
num39: '1',
num40: '1',
num41: '1',
num42: '1',
num43: '1',
num44: '1',
num45: '1',
num46: '1',
num47: '1',
num48: '1',
num49: '1',
num50: '1'
},
{
name: '桂容220-0.01GH',
model: '三柱型',
addTime: '2021-08-23 15:23:23',
updatedTime: '2021-08-23 15:23:23',
num2: '1',
num3: '1',
num4: '1',
num5: '1',
num6: '1',
num7: '1',
num8: '1',
num9: '1',
num10: '1',
num11: '1',
num12: '1',
num13: '1',
num14: '1',
num15: '1',
num16: '1',
num17: '1',
num18: '1',
num19: '1',
num20: '1',
num21: '1',
num22: '1',
num23: '1',
num24: '1',
num25: '1',
num26: '1',
num27: '1',
num28: '1',
num29: '1',
num30: '1',
num31: '1',
num32: '1',
num33: '1',
num34: '1',
num35: '1',
num36: '1',
num37: '1',
num38: '1',
num39: '1',
num40: '1',
num41: '1',
num42: '1',
num43: '1',
num44: '1',
num45: '1',
num46: '1',
num47: '1',
num48: '1',
num49: '1',
num50: '1'
}
],
tables: [],
column: [
{ label: 'CVT名称', prop: 'name', width: '200px' },
{ label: 'CVT型号', prop: 'model', width: '200px' },
{ label: 'CVT名称', prop: 'cvtName', width: '300px' },
{ label: 'CVT型号', prop: 'cvtModel', width: '300px' },
{
label: '谐波电压',
children: [
{ label: '2次', prop: 'num2' },
{ label: '3次', prop: 'num3' },
{ label: '4次', prop: 'num4' },
{ label: '5次', prop: 'num5' },
{ label: '6次', prop: 'num6' },
{ label: '7次', prop: 'num7' },
{ label: '8次', prop: 'num8' },
{ label: '9次', prop: 'num9' },
{ label: '10次', prop: 'num10' },
{ label: '11次', prop: 'num11' },
{ label: '12次', prop: 'num12' },
{ label: '13次', prop: 'num13' },
{ label: '14次', prop: 'num14' },
{ label: '15次', prop: 'num15' },
{ label: '16次', prop: 'num16' },
{ label: '17次', prop: 'num17' },
{ label: '18次', prop: 'num18' },
{ label: '19次', prop: 'num19' },
{ label: '20次', prop: 'num20' },
{ label: '21次', prop: 'num21' },
{ label: '22次', prop: 'num22' },
{ label: '23次', prop: 'num23' },
{ label: '24次', prop: 'num24' },
{ label: '25次', prop: 'num25' },
{ label: '26次', prop: 'num26' },
{ label: '27次', prop: 'num27' },
{ label: '28次', prop: 'num28' },
{ label: '29次', prop: 'num29' },
{ label: '30次', prop: 'num30' },
{ label: '31次', prop: 'num31' },
{ label: '32次', prop: 'num32' },
{ label: '33次', prop: 'num33' },
{ label: '34次', prop: 'num34' },
{ label: '35次', prop: 'num35' },
{ label: '36次', prop: 'num36' },
{ label: '37次', prop: 'num37' },
{ label: '38次', prop: 'num38' },
{ label: '39次', prop: 'num39' },
{ label: '40次', prop: 'num40' },
{ label: '41次', prop: 'num41' },
{ label: '42次', prop: 'num42' },
{ label: '43次', prop: 'num43' },
{ label: '44次', prop: 'num44' },
{ label: '45次', prop: 'num45' },
{ label: '46次', prop: 'num46' },
{ label: '47次', prop: 'num47' },
{ label: '48次', prop: 'num48' },
{ label: '49次', prop: 'num49' },
{ label: '50次', prop: 'num50' }
{ label: '2次', width: '80px', prop: 'h2' },
{ label: '3次', width: '80px', prop: 'h3' },
{ label: '4次', width: '80px', prop: 'h4' },
{ label: '5次', width: '80px', prop: 'h5' },
{ label: '6次', width: '80px', prop: 'h6' },
{ label: '7次', width: '80px', prop: 'h7' },
{ label: '8次', width: '80px', prop: 'h8' },
{ label: '9次', width: '80px', prop: 'h9' },
{ label: '10次', width: '80px', prop: 'h10' },
{ label: '11次', width: '80px', prop: 'h11' },
{ label: '12次', width: '80px', prop: 'h12' },
{ label: '13次', width: '80px', prop: 'h13' },
{ label: '14次', width: '80px', prop: 'h14' },
{ label: '15次', width: '80px', prop: 'h15' },
{ label: '16次', width: '80px', prop: 'h16' },
{ label: '17次', width: '80px', prop: 'h17' },
{ label: '18次', width: '80px', prop: 'h18' },
{ label: '19次', width: '80px', prop: 'h19' },
{ label: '20次', width: '80px', prop: 'h20' },
{ label: '21次', width: '80px', prop: 'h21' },
{ label: '22次', width: '80px', prop: 'h22' },
{ label: '23次', width: '80px', prop: 'h23' },
{ label: '24次', width: '80px', prop: 'h24' },
{ label: '25次', width: '80px', prop: 'h25' },
{ label: '26次', width: '80px', prop: 'h26' },
{ label: '27次', width: '80px', prop: 'h27' },
{ label: '28次', width: '80px', prop: 'h28' },
{ label: '29次', width: '80px', prop: 'h29' },
{ label: '30次', width: '80px', prop: 'h30' },
{ label: '31次', width: '80px', prop: 'h31' },
{ label: '32次', width: '80px', prop: 'h32' },
{ label: '33次', width: '80px', prop: 'h33' },
{ label: '34次', width: '80px', prop: 'h34' },
{ label: '35次', width: '80px', prop: 'h35' },
{ label: '36次', width: '80px', prop: 'h36' },
{ label: '37次', width: '80px', prop: 'h37' },
{ label: '38次', width: '80px', prop: 'h38' },
{ label: '39次', width: '80px', prop: 'h39' },
{ label: '40次', width: '80px', prop: 'h40' },
{ label: '41次', width: '80px', prop: 'h41' },
{ label: '42次', width: '80px', prop: 'h42' },
{ label: '43次', width: '80px', prop: 'h43' },
{ label: '44次', width: '80px', prop: 'h44' },
{ label: '45次', width: '80px', prop: 'h45' },
{ label: '46次', width: '80px', prop: 'h46' },
{ label: '47次', width: '80px', prop: 'h47' },
{ label: '48次', width: '80px', prop: 'h48' },
{ label: '49次', width: '80px', prop: 'h49' },
{ label: '50次', width: '80px', prop: 'h50' }
]
},
{ label: '新增时间', prop: 'addTime', width: '200px' },
{ label: '更新时间', prop: 'updatedTime', width: '200px' }
}
]
}
},
created() {},
methods: {
querfromdata() {},
handleSizeChange() {},
handleCurrentChange() {},
// 新增
handleAdd() {
this.$refs.formRef.title = '新增CVT系数'
this.$refs.formRef.dialogVisible = true
},
// 执行算法
handleAlgorithm() {
this.$refs.algorithmRef.open()
},
// 绑定监测点
handleBind(index, row) {
this.$refs.bindRef.open()
},
//编辑
handleEdit(index, row) {
this.$message({
message: '编辑',
type: 'success'
querfromdata() {
this.isLoading = true
queryPage(this.form).then(res => {
this.tables = res.data.records
this.tables.unshift({
cvtName: '默认',
cvtModel: '默认',
h2: 1,
h3: 1,
h4: 1,
h5: 1,
h6: 1,
h7: 1,
h8: 1,
h9: 1,
h10: 1,
h11: 1,
h12: 1,
h13: 1,
h14: 1,
h15: 1,
h16: 1,
h17: 1,
h18: 1,
h19: 1,
h20: 1,
h21: 1,
h22: 1,
h23: 1,
h24: 1,
h25: 1,
h26: 1,
h27: 1,
h28: 1,
h29: 1,
h30: 1,
h31: 1,
h32: 1,
h33: 1,
h34: 1,
h35: 1,
h36: 1,
h37: 1,
h38: 1,
h39: 1,
h40: 1,
h41: 1,
h42: 1,
h43: 1,
h44: 1,
h45: 1,
h46: 1,
h47: 1,
h48: 1,
h49: 1,
h50: 1,
id: ''
})
let data = this.tables.filter(item => item.id == this.radioId)
this.tables = this.tables.filter(item => {
// 将 a 和 b 属性的值转换为字符串,然后检查是否包含目标值转换后的字符串
return (
String(item.cvtName).includes(String(this.form.searchValue)) ||
String(item.cvtModel).includes(String(this.form.searchValue))
)
})
data.length > 0
? this.$refs.tableRef.setRadioRow(data[0])
: this.$refs.tableRef.setRadioRow(this.tables[0])
this.isLoading = false
}).catch(() => {
this.isLoading = false
})
},
//删除
handleDelete(index, row) {
this.$message({
message: '删除',
type: 'success'
clearRadioRowEvent() {
this.$refs.tableRef.clearRadioRow()
},
// 查询绑定的监cvt
queryBind(id) {
queryByLineId({ lineId: id }).then(res => {
this.radioId = res.data.id
this.querfromdata()
})
},
// 绑定监测点
handleBind() {
const currRow = this.$refs.tableRef.getRadioRecord()
cvtBind({ cvtId: currRow == null ? '' : currRow.id, lineId: this.clickData.id }).then(res => {
if (res.code == 'A0000') {
this.radioId = currRow == null ? null : currRow.id
this.$message.success('绑定成功!')
}
})
}
},
computed: {},
mounted() {},
watch: {
tables: {
handler() {
this.calculateSpan()
},
deep: true
}
mounted() {
// this.querfromdata()
}
}
</script>
@@ -420,4 +271,10 @@ export default {
text-align: left !important;
}
}
::v-deep tr th:nth-child(1) {
div {
padding-left: 0px !important;
padding-right: 0px !important;
}
}
</style>

View File

@@ -1,11 +1,11 @@
<template>
<div v-loading="loading" element-loading-text="拼命加载中">
<el-form :inline="true" :model="form" class="demo-form-inline">
<el-form-item>
<!-- <el-form-item>
<timeindex :id="1" ref="fff" :interval="3"></timeindex>
</el-form-item>
</el-form-item> -->
<el-form-item label="筛选:" class="ml10">
<el-input v-model="form.search" placeholder="输入关键字搜索" style="width: 100%" />
<el-input v-model.trim="form.searchValue" clearable placeholder="输入关键字搜索" style="width: 100%" />
</el-form-item>
<el-form-item class="ml10">
@@ -14,60 +14,55 @@
<el-button type="primary" @click="handleAlgorithm" icon="el-icon-setting">执行算法</el-button>
</el-form-item>
</el-form>
<el-table
stripe
style="width: 100%"
<div style="height: calc(100vh - 128px)">
<vxe-table
:data="tables"
height="auto"
border
height="calc(100vh - 128px)"
header-cell-class-name="table_header"
highlight-current-row
>
<el-table-column
v-for="item in column"
:key="item.prop"
:label="item.label"
align="center"
header-align="left"
:width="item.width"
:prop="item.prop"
>
<el-table-column
v-for="k in item.children"
:key="k.prop"
:label="k.label"
align="center"
:width="k.width"
:prop="k.prop"
/>
</el-table-column>
<el-table-column label="操作" width="220" fixed="right" align="center">
<template slot-scope="scope">
<el-button
type="primary"
stripe
:row-config="{ isCurrent: true, isHover: true }"
size="mini"
icon="el-icon-edit"
@click="handleEdit(scope.$index, scope.row)"
ref="classification"
style="width: 100%"
header-cell-class-name="table_header"
>
<vxe-table-colgroup
align="center"
v-for="(item, index) in column"
:field="item.prop"
:title="item.label"
:min-width="item.width"
show-overflow
:key="index"
>
<vxe-table-colgroup
align="center"
v-for="(item, index) in item.children"
:field="item.prop"
:title="item.label"
:min-width="item.width"
show-overflow
:key="index"
></vxe-table-colgroup>
</vxe-table-colgroup>
<vxe-table-column align="center" title="操作" min-width="220px" fixed="right">
<template slot-scope="scope">
<el-button type="primary" size="mini" icon="el-icon-edit" @click="handleEdit(scope.row)">
编辑
</el-button>
<el-button
type="danger"
size="mini"
icon="el-icon-delete"
@click="handleDelete(scope.$index, scope.row)"
>
<el-button type="danger" size="mini" icon="el-icon-delete" @click="handleDelete(scope.row)">
删除
</el-button>
</template>
</el-table-column>
</el-table>
</vxe-table-column>
</vxe-table>
</div>
<!-- 新增修改 -->
<forms ref="formRef" />
<forms ref="formRef" @querfromdata="querfromdata" @showForm="showForm = false" v-if="showForm" />
<!-- 执行算法 -->
<algorithm ref="algorithmRef" />
<algorithm ref="algorithmRef" v-if="showAlgorithm" @close="showAlgorithm = false" />
<!-- <el-pagination
background
align="right"
@@ -75,7 +70,7 @@
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:page-sizes="[15, 30, 50, 100]"
:current-page="form.currentPage"
:current-page="form.pageNum"
:page-size="form.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="this.tables.length"
@@ -85,6 +80,7 @@
<script>
import timeindex from '@/views/cgy-components/cgytree/TimeintervalTemplat.vue'
import forms from './forms.vue'
import { queryPage, deleteById } from '@/api/CVT/index.js'
import algorithm from './algorithm.vue'
export default {
components: { timeindex, forms, algorithm },
@@ -92,290 +88,142 @@ export default {
data() {
return {
loading: false,
showAlgorithm: false,
form: {
currentPage: 1,
pageSize: 15,
search: ''
pageNum: 1,
pageSize: 10000,
searchValue: ''
},
spanArray: [], // 用于存储每个name字段合并的行数
position: 0, // 用于记录合并的位置
tables: [
{
name: '思源220kV-0.01W3',
model: 'C型',
addTime: '2021-08-23 15:23:23',
updatedTime: '2021-08-23 15:23:23',
num2: '1',
num3: '1',
num4: '1',
num5: '1',
num6: '1',
num7: '1',
num8: '1',
num9: '1',
num10: '1',
num11: '1',
num12: '1',
num13: '1',
num14: '1',
num15: '1',
num16: '1',
num17: '1',
num18: '1',
num19: '1',
num20: '1',
num21: '1',
num22: '1',
num23: '1',
num24: '1',
num25: '1',
num26: '1',
num27: '1',
num28: '1',
num29: '1',
num30: '1',
num31: '1',
num32: '1',
num33: '1',
num34: '1',
num35: '1',
num36: '1',
num37: '1',
num38: '1',
num39: '1',
num40: '1',
num41: '1',
num42: '1',
num43: '1',
num44: '1',
num45: '1',
num46: '1',
num47: '1',
num48: '1',
num49: '1',
num50: '1'
},
{
name: '思源220kV-0.01W3',
model: 'C型',
addTime: '2021-08-23 15:23:23',
updatedTime: '2021-08-23 15:23:23',
num2: '1',
num3: '1',
num4: '1',
num5: '1',
num6: '1',
num7: '1',
num8: '1',
num9: '1',
num10: '1',
num11: '1',
num12: '1',
num13: '1',
num14: '1',
num15: '1',
num16: '1',
num17: '1',
num18: '1',
num19: '1',
num20: '1',
num21: '1',
num22: '1',
num23: '1',
num24: '1',
num25: '1',
num26: '1',
num27: '1',
num28: '1',
num29: '1',
num30: '1',
num31: '1',
num32: '1',
num33: '1',
num34: '1',
num35: '1',
num36: '1',
num37: '1',
num38: '1',
num39: '1',
num40: '1',
num41: '1',
num42: '1',
num43: '1',
num44: '1',
num45: '1',
num46: '1',
num47: '1',
num48: '1',
num49: '1',
num50: '1'
},
{
name: '桂容220-0.01GH',
model: '三柱型',
addTime: '2021-08-23 15:23:23',
updatedTime: '2021-08-23 15:23:23',
num2: '1',
num3: '1',
num4: '1',
num5: '1',
num6: '1',
num7: '1',
num8: '1',
num9: '1',
num10: '1',
num11: '1',
num12: '1',
num13: '1',
num14: '1',
num15: '1',
num16: '1',
num17: '1',
num18: '1',
num19: '1',
num20: '1',
num21: '1',
num22: '1',
num23: '1',
num24: '1',
num25: '1',
num26: '1',
num27: '1',
num28: '1',
num29: '1',
num30: '1',
num31: '1',
num32: '1',
num33: '1',
num34: '1',
num35: '1',
num36: '1',
num37: '1',
num38: '1',
num39: '1',
num40: '1',
num41: '1',
num42: '1',
num43: '1',
num44: '1',
num45: '1',
num46: '1',
num47: '1',
num48: '1',
num49: '1',
num50: '1'
},
],
showForm: false,
tables: [],
column: [
{ label: 'CVT名称', prop: 'name', width: '200px' },
{ label: 'CVT型号', prop: 'model', width: '200px' },
{ label: 'CVT名称', prop: 'cvtName', width: '300px' },
{ label: 'CVT型号', prop: 'cvtModel', width: '300px' },
{
label: '谐波电压',
children: [
{ label: '2次', prop: 'num2' },
{ label: '3次', prop: 'num3' },
{ label: '4次', prop: 'num4' },
{ label: '5次', prop: 'num5' },
{ label: '6次', prop: 'num6' },
{ label: '7次', prop: 'num7' },
{ label: '8次', prop: 'num8' },
{ label: '9次', prop: 'num9' },
{ label: '10次', prop: 'num10' },
{ label: '11次', prop: 'num11' },
{ label: '12次', prop: 'num12' },
{ label: '13次', prop: 'num13' },
{ label: '14次', prop: 'num14' },
{ label: '15次', prop: 'num15' },
{ label: '16次', prop: 'num16' },
{ label: '17次', prop: 'num17' },
{ label: '18次', prop: 'num18' },
{ label: '19次', prop: 'num19' },
{ label: '20次', prop: 'num20' },
{ label: '21次', prop: 'num21' },
{ label: '22次', prop: 'num22' },
{ label: '23次', prop: 'num23' },
{ label: '24次', prop: 'num24' },
{ label: '25次', prop: 'num25' },
{ label: '26次', prop: 'num26' },
{ label: '27次', prop: 'num27' },
{ label: '28次', prop: 'num28' },
{ label: '29次', prop: 'num29' },
{ label: '30次', prop: 'num30' },
{ label: '31次', prop: 'num31' },
{ label: '32次', prop: 'num32' },
{ label: '33次', prop: 'num33' },
{ label: '34次', prop: 'num34' },
{ label: '35次', prop: 'num35' },
{ label: '36次', prop: 'num36' },
{ label: '37次', prop: 'num37' },
{ label: '38次', prop: 'num38' },
{ label: '39次', prop: 'num39' },
{ label: '40次', prop: 'num40' },
{ label: '41次', prop: 'num41' },
{ label: '42次', prop: 'num42' },
{ label: '43次', prop: 'num43' },
{ label: '44次', prop: 'num44' },
{ label: '45次', prop: 'num45' },
{ label: '46次', prop: 'num46' },
{ label: '47次', prop: 'num47' },
{ label: '48次', prop: 'num48' },
{ label: '49次', prop: 'num49' },
{ label: '50次', prop: 'num50' }
{ label: '2次', width: '80px', prop: 'h2' },
{ label: '3次', width: '80px', prop: 'h3' },
{ label: '4次', width: '80px', prop: 'h4' },
{ label: '5次', width: '80px', prop: 'h5' },
{ label: '6次', width: '80px', prop: 'h6' },
{ label: '7次', width: '80px', prop: 'h7' },
{ label: '8次', width: '80px', prop: 'h8' },
{ label: '9次', width: '80px', prop: 'h9' },
{ label: '10次', width: '80px', prop: 'h10' },
{ label: '11次', width: '80px', prop: 'h11' },
{ label: '12次', width: '80px', prop: 'h12' },
{ label: '13次', width: '80px', prop: 'h13' },
{ label: '14次', width: '80px', prop: 'h14' },
{ label: '15次', width: '80px', prop: 'h15' },
{ label: '16次', width: '80px', prop: 'h16' },
{ label: '17次', width: '80px', prop: 'h17' },
{ label: '18次', width: '80px', prop: 'h18' },
{ label: '19次', width: '80px', prop: 'h19' },
{ label: '20次', width: '80px', prop: 'h20' },
{ label: '21次', width: '80px', prop: 'h21' },
{ label: '22次', width: '80px', prop: 'h22' },
{ label: '23次', width: '80px', prop: 'h23' },
{ label: '24次', width: '80px', prop: 'h24' },
{ label: '25次', width: '80px', prop: 'h25' },
{ label: '26次', width: '80px', prop: 'h26' },
{ label: '27次', width: '80px', prop: 'h27' },
{ label: '28次', width: '80px', prop: 'h28' },
{ label: '29次', width: '80px', prop: 'h29' },
{ label: '30次', width: '80px', prop: 'h30' },
{ label: '31次', width: '80px', prop: 'h31' },
{ label: '32次', width: '80px', prop: 'h32' },
{ label: '33次', width: '80px', prop: 'h33' },
{ label: '34次', width: '80px', prop: 'h34' },
{ label: '35次', width: '80px', prop: 'h35' },
{ label: '36次', width: '80px', prop: 'h36' },
{ label: '37次', width: '80px', prop: 'h37' },
{ label: '38次', width: '80px', prop: 'h38' },
{ label: '39次', width: '80px', prop: 'h39' },
{ label: '40次', width: '80px', prop: 'h40' },
{ label: '41次', width: '80px', prop: 'h41' },
{ label: '42次', width: '80px', prop: 'h42' },
{ label: '43次', width: '80px', prop: 'h43' },
{ label: '44次', width: '80px', prop: 'h44' },
{ label: '45次', width: '80px', prop: 'h45' },
{ label: '46次', width: '80px', prop: 'h46' },
{ label: '47次', width: '80px', prop: 'h47' },
{ label: '48次', width: '80px', prop: 'h48' },
{ label: '49次', width: '80px', prop: 'h49' },
{ label: '50次', width: '80px', prop: 'h50' }
]
},
{ label: '新时间', prop: 'addTime', width: '200px' },
{ label: '更新时间', prop: 'updatedTime', width: '200px' }
{ label: '新增时间', prop: 'createTime', width: '200px' },
{ label: '新时间', prop: 'updateTime', width: '200px' }
]
}
},
created() {},
methods: {
querfromdata() {},
//查询
querfromdata() {
this.showForm = false
this.loading = true
queryPage(this.form).then(res => {
this.tables = res.data.records
this.loading = false
})
},
handleSizeChange() {},
handleCurrentChange() {},
// 新增
handleAdd() {
this.showForm = true
setTimeout(() => {
this.$refs.formRef.title = '新增CVT系数'
this.$refs.formRef.dialogVisible = true
}, 0)
},
// 执行算法
handleAlgorithm() {
this.showAlgorithm = true
setTimeout(() => {
this.$refs.algorithmRef.open()
}, 100)
},
// 绑定监测点
handleBind(index, row) {
this.$refs.bindRef.open()
},
//编辑
handleEdit(index, row) {
this.$message({
message: '编辑',
type: 'success'
})
handleEdit(row) {
this.showForm = true
setTimeout(() => {
this.$refs.formRef.doEdit(row)
this.$refs.formRef.title = '修改CVT系数'
this.$refs.formRef.dialogVisible = true
}, 0)
},
//删除
handleDelete(index, row) {
handleDelete(row) {
this.$confirm('请确认是否删除?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteById({ id: row.id }).then(res => {
if (res.code == 'A0000') {
this.$message({
message: '删除',
type: 'success'
type: 'success',
message: '删除成功!'
})
this.querfromdata()
}
})
})
}
},
computed: {},
mounted() {},
watch: {
tables: {
handler() {
this.calculateSpan()
},
deep: true
}
mounted() {
this.querfromdata()
}
}
</script>

View File

@@ -7,270 +7,386 @@
width="1000px"
:before-close="handleClose"
>
<el-form ref="form" :inline="true" :model="form" label-width="80px" class="form-two">
<el-form-item label="CVT名称:">
<el-input v-model="form.name" placeholder="请输入CVT名称"></el-input>
<el-form ref="form" :inline="true" :model="form" label-width="auto" :rules="rules" class="form">
<el-form-item label="CVT名称:" prop="cvtName" style="width: 49%">
<el-input v-model.trim="form.cvtName" placeholder="请输入CVT名称" />
</el-form-item>
<el-form-item label="CVT型号:">
<el-input v-model="form.model" placeholder="请输入CVT型号"></el-input>
<el-form-item label="CVT型号:" prop="cvtModel" style="width: 49%">
<el-input v-model.trim="form.cvtModel" placeholder="请输入CVT型号" />
</el-form-item>
</el-form>
<el-form ref="form" :inline="true" :model="form" label-width="80px" class="form">
<el-form-item label="2次:">
<el-input type="number" v-model="form.num2"></el-input>
<el-form-item v-for="item in frequency" :label="`${item}次:`" :prop="`h${item}`">
<el-input type="number" v-model.trim="form[`h${item}`]" @input="handleInput($event, `h${item}`)" />
</el-form-item>
<el-form-item label="3次:">
<el-input type="number" v-model="form.num3"></el-input>
<!-- <el-form-item label="2次:" prop="h2">
<el-input type="number" v-model="form.h2" @input="handleInput($event,'h2')"/>
</el-form-item>
<el-form-item label="4次:">
<el-input type="number" v-model="form.num4"></el-input>
<el-form-item label="3次:" prop="h3">
<el-input type="number" v-model="form.h3" @input="handleInput($event,'h3')"/>
</el-form-item>
<el-form-item label="5次:">
<el-input type="number" v-model="form.num5"></el-input>
<el-form-item label="4次:" prop="h4">
<el-input type="number" v-model="form.h4" @input="handleInput($event,'h4')"/>
</el-form-item>
<el-form-item label="6次:">
<el-input type="number" v-model="form.num6"></el-input>
<el-form-item label="5次:" prop="h5">
<el-input type="number" v-model="form.h5" @input="handleInput($event,'h5')"/>
</el-form-item>
<el-form-item label="7次:">
<el-input type="number" v-model="form.num7"></el-input>
<el-form-item label="6次:" prop="h6">
<el-input type="number" v-model="form.h6" @input="handleInput($event,'h6')"/>
</el-form-item>
<el-form-item label="8次:">
<el-input type="number" v-model="form.num8"></el-input>
<el-form-item label="7次:" prop="h7">
<el-input type="number" v-model="form.h7" @input="handleInput($event,'h7')"/>
</el-form-item>
<el-form-item label="9次:">
<el-input type="number" v-model="form.num9"></el-input>
<el-form-item label="8次:" prop="h8">
<el-input type="number" v-model="form.h8" @input="handleInput($event,'h8')"/>
</el-form-item>
<el-form-item label="10次:">
<el-input type="number" v-model="form.num10"></el-input>
<el-form-item label="9次:" prop="h9">
<el-input type="number" v-model="form.h9" @input="handleInput($event,'h9')"/>
</el-form-item>
<el-form-item label="11次:">
<el-input type="number" v-model="form.num11"></el-input>
<el-form-item label="10次:" prop="h10">
<el-input type="number" v-model="form.h10" @input="handleInput($event,'h10')"/>
</el-form-item>
<el-form-item label="12次:">
<el-input type="number" v-model="form.num12"></el-input>
<el-form-item label="11次:" prop="h11">
<el-input type="number" v-model="form.h11" @input="handleInput($event,'h11')"/>
</el-form-item>
<el-form-item label="13次:">
<el-input type="number" v-model="form.num13"></el-input>
<el-form-item label="12次:" prop="h12">
<el-input type="number" v-model="form.h12" @input="handleInput($event,'h12')"/>
</el-form-item>
<el-form-item label="14次:">
<el-input type="number" v-model="form.num14"></el-input>
<el-form-item label="13次:" prop="h13">
<el-input type="number" v-model="form.h13" @input="handleInput($event,'h13')"/>
</el-form-item>
<el-form-item label="15次:">
<el-input type="number" v-model="form.num15"></el-input>
<el-form-item label="14次:" prop="h14">
<el-input type="number" v-model="form.h14" @input="handleInput($event,'h14')"/>
</el-form-item>
<el-form-item label="16次:">
<el-input type="number" v-model="form.num16"></el-input>
<el-form-item label="15次:" prop="h15">
<el-input type="number" v-model="form.h15" @input="handleInput($event,'h15')"/>
</el-form-item>
<el-form-item label="17次:">
<el-input type="number" v-model="form.num17"></el-input>
<el-form-item label="16次:" prop="h16">
<el-input type="number" v-model="form.h16" @input="handleInput($event,'h16')"/>
</el-form-item>
<el-form-item label="18次:">
<el-input type="number" v-model="form.num18"></el-input>
<el-form-item label="17次:" prop="h17">
<el-input type="number" v-model="form.h17" @input="handleInput($event,'h17')"/>
</el-form-item>
<el-form-item label="19次:">
<el-input type="number" v-model="form.num19"></el-input>
<el-form-item label="18次:" prop="h18">
<el-input type="number" v-model="form.h18" @input="handleInput($event,'h18')"/>
</el-form-item>
<el-form-item label="20次:">
<el-input type="number" v-model="form.num20"></el-input>
<el-form-item label="19次:" prop="h19">
<el-input type="number" v-model="form.h19" @input="handleInput($event,'h19')"/>
</el-form-item>
<el-form-item label="21次:">
<el-input type="number" v-model="form.num21"></el-input>
<el-form-item label="20次:" prop="h20">
<el-input type="number" v-model="form.h20" @input="handleInput($event,'h20')"/>
</el-form-item>
<el-form-item label="22次:">
<el-input type="number" v-model="form.num22"></el-input>
<el-form-item label="21次:" prop="h21">
<el-input type="number" v-model="form.h21" @input="handleInput($event,'h21')"/>
</el-form-item>
<el-form-item label="23次:">
<el-input type="number" v-model="form.num23"></el-input>
<el-form-item label="22次:" prop="h22">
<el-input type="number" v-model="form.h22" @input="handleInput($event,'h22')"/>
</el-form-item>
<el-form-item label="24次:">
<el-input type="number" v-model="form.num24"></el-input>
<el-form-item label="23次:" prop="h23">
<el-input type="number" v-model="form.h23" @input="handleInput($event,'h23')"/>
</el-form-item>
<el-form-item label="25次:">
<el-input type="number" v-model="form.num25"></el-input>
<el-form-item label="24次:" prop="h24">
<el-input type="number" v-model="form.h24" @input="handleInput($event,'h24')"/>
</el-form-item>
<el-form-item label="26次:">
<el-input type="number" v-model="form.num26"></el-input>
<el-form-item label="25次:" prop="h25">
<el-input type="number" v-model="form.h25" @input="handleInput($event,'h25')"/>
</el-form-item>
<el-form-item label="27次:">
<el-input type="number" v-model="form.num27"></el-input>
<el-form-item label="26次:" prop="h26">
<el-input type="number" v-model="form.h26" @input="handleInput($event,'h26')"/>
</el-form-item>
<el-form-item label="28次:">
<el-input type="number" v-model="form.num28"></el-input>
<el-form-item label="27次:" prop="h27">
<el-input type="number" v-model="form.h27" @input="handleInput($event,'h27')"/>
</el-form-item>
<el-form-item label="29次:">
<el-input type="number" v-model="form.num29"></el-input>
<el-form-item label="28次:" prop="h28">
<el-input type="number" v-model="form.h28" @input="handleInput($event,'h28')"/>
</el-form-item>
<el-form-item label="30次:">
<el-input type="number" v-model="form.num30"></el-input>
<el-form-item label="29次:" prop="h29">
<el-input type="number" v-model="form.h29" @input="handleInput($event,'h29')"/>
</el-form-item>
<el-form-item label="31次:">
<el-input type="number" v-model="form.num31"></el-input>
<el-form-item label="30次:" prop="h30">
<el-input type="number" v-model="form.h30" @input="handleInput($event,'h30')"/>
</el-form-item>
<el-form-item label="32次:">
<el-input type="number" v-model="form.num32"></el-input>
<el-form-item label="31次:" prop="h31">
<el-input type="number" v-model="form.h31" @input="handleInput($event,'h31')"/>
</el-form-item>
<el-form-item label="33次:">
<el-input type="number" v-model="form.num33"></el-input>
<el-form-item label="32次:" prop="h32">
<el-input type="number" v-model="form.h32" @input="handleInput($event,'h32')"/>
</el-form-item>
<el-form-item label="34次:">
<el-input type="number" v-model="form.num34"></el-input>
<el-form-item label="33次:" prop="h33">
<el-input type="number" v-model="form.h33" @input="handleInput($event,'h33')"/>
</el-form-item>
<el-form-item label="35次:">
<el-input type="number" v-model="form.num35"></el-input>
<el-form-item label="34次:" prop="h34">
<el-input type="number" v-model="form.h34" @input="handleInput($event,'h34')"/>
</el-form-item>
<el-form-item label="36次:">
<el-input type="number" v-model="form.num36"></el-input>
<el-form-item label="35次:" prop="h35">
<el-input type="number" v-model="form.h35" @input="handleInput($event,'h35')"/>
</el-form-item>
<el-form-item label="37次:">
<el-input type="number" v-model="form.num37"></el-input>
<el-form-item label="36次:" prop="h36">
<el-input type="number" v-model="form.h36" @input="handleInput($event,'h36')"/>
</el-form-item>
<el-form-item label="38次:">
<el-input type="number" v-model="form.num38"></el-input>
<el-form-item label="37次:" prop="h37">
<el-input type="number" v-model="form.h37" @input="handleInput($event,'h37')"/>
</el-form-item>
<el-form-item label="39次:">
<el-input type="number" v-model="form.num39"></el-input>
<el-form-item label="38次:" prop="h38">
<el-input type="number" v-model="form.h38" @input="handleInput($event,'h38')"/>
</el-form-item>
<el-form-item label="40次:">
<el-input type="number" v-model="form.num40"></el-input>
<el-form-item label="39次:" prop="h39">
<el-input type="number" v-model="form.h39" @input="handleInput($event,'h39')"/>
</el-form-item>
<el-form-item label="41次:">
<el-input type="number" v-model="form.num41"></el-input>
<el-form-item label="40次:" prop="h40">
<el-input type="number" v-model="form.h40" @input="handleInput($event,'h40')"/>
</el-form-item>
<el-form-item label="42次:">
<el-input type="number" v-model="form.num42"></el-input>
<el-form-item label="41次:" prop="h41">
<el-input type="number" v-model="form.h41" @input="handleInput($event,'h41')"/>
</el-form-item>
<el-form-item label="43次:">
<el-input type="number" v-model="form.num43"></el-input>
<el-form-item label="42次:" prop="h42">
<el-input type="number" v-model="form.h42" @input="handleInput($event,'h42')"/>
</el-form-item>
<el-form-item label="44次:">
<el-input type="number" v-model="form.num44"></el-input>
<el-form-item label="43次:" prop="h43">
<el-input type="number" v-model="form.h43" @input="handleInput($event,'h43')"/>
</el-form-item>
<el-form-item label="45次:">
<el-input type="number" v-model="form.num45"></el-input>
<el-form-item label="44次:" prop="h44">
<el-input type="number" v-model="form.h44" @input="handleInput($event,'h44')"/>
</el-form-item>
<el-form-item label="46次:">
<el-input type="number" v-model="form.num46"></el-input>
<el-form-item label="45次:" prop="h45">
<el-input type="number" v-model="form.h45" @input="handleInput($event,'h45')"/>
</el-form-item>
<el-form-item label="47次:">
<el-input type="number" v-model="form.num47"></el-input>
<el-form-item label="46次:" prop="h46">
<el-input type="number" v-model="form.h46" @input="handleInput($event,'h46')"/>
</el-form-item>
<el-form-item label="48次:">
<el-input type="number" v-model="form.num48"></el-input>
<el-form-item label="47次:" prop="h47">
<el-input type="number" v-model="form.h47" @input="handleInput($event,'h47')"/>
</el-form-item>
<el-form-item label="49次:">
<el-input type="number" v-model="form.num49"></el-input>
<el-form-item label="48次:" prop="h48">
<el-input type="number" v-model="form.h48" @input="handleInput($event,'h48')"/>
</el-form-item>
<el-form-item label="50次:">
<el-input type="number" v-model="form.num50"></el-input>
<el-form-item label="49次:" prop="h49">
<el-input type="number" v-model="form.h49" @input="handleInput($event,'h49')"/>
</el-form-item>
<el-form-item label="50次:" prop="h50">
<el-input type="number" v-model="form.h50" @input="handleInput($event,'h50')"/>
</el-form-item> -->
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose"> </el-button>
<el-button type="primary" @click="handleClose"> </el-button>
<el-button type="primary" @click="submit"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { addCVT, updateCvt } from '@/api/CVT/index.js'
export default {
components: {},
props: {},
data() {
return {
frequency: [
2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50
],
dialogVisible: false,
title: '',
form: {
name: '',
model: '',
num2: '1',
num3: '1',
num4: '1',
num5: '1',
num6: '1',
num7: '1',
num8: '1',
num9: '1',
num10: '1',
num11: '1',
num12: '1',
num13: '1',
num14: '1',
num15: '1',
num16: '1',
num17: '1',
num18: '1',
num19: '1',
num20: '1',
num21: '1',
num22: '1',
num23: '1',
num24: '1',
num25: '1',
num26: '1',
num27: '1',
num28: '1',
num29: '1',
num30: '1',
num31: '1',
num32: '1',
num33: '1',
num34: '1',
num35: '1',
num36: '1',
num37: '1',
num38: '1',
num39: '1',
num40: '1',
num41: '1',
num42: '1',
num43: '1',
num44: '1',
num45: '1',
num46: '1',
num47: '1',
num48: '1',
num49: '1',
num50: '1'
cvtName: '',
cvtModel: '',
h2: '1',
h3: '1',
h4: '1',
h5: '1',
h6: '1',
h7: '1',
h8: '1',
h9: '1',
h10: '1',
h11: '1',
h12: '1',
h13: '1',
h14: '1',
h15: '1',
h16: '1',
h17: '1',
h18: '1',
h19: '1',
h20: '1',
h21: '1',
h22: '1',
h23: '1',
h24: '1',
h25: '1',
h26: '1',
h27: '1',
h28: '1',
h29: '1',
h30: '1',
h31: '1',
h32: '1',
h33: '1',
h34: '1',
h35: '1',
h36: '1',
h37: '1',
h38: '1',
h39: '1',
h40: '1',
h41: '1',
h42: '1',
h43: '1',
h44: '1',
h45: '1',
h46: '1',
h47: '1',
h48: '1',
h49: '1',
h50: '1'
},
rules: {
cvtName: [{ required: true, message: 'CVT名称不能为空', trigger: 'blur' }],
cvtModel: [{ required: true, message: 'CVT型号不能为空', trigger: 'blur' }],
h2: [{ required: true, message: '2次不能为空', trigger: 'blur' }],
h3: [{ required: true, message: '3次不能为空', trigger: 'blur' }],
h4: [{ required: true, message: '4次不能为空', trigger: 'blur' }],
h5: [{ required: true, message: '5次不能为空', trigger: 'blur' }],
h6: [{ required: true, message: '6次不能为空', trigger: 'blur' }],
h7: [{ required: true, message: '7次不能为空', trigger: 'blur' }],
h8: [{ required: true, message: '8次不能为空', trigger: 'blur' }],
h9: [{ required: true, message: '9次不能为空', trigger: 'blur' }],
h10: [{ required: true, message: '10次不能为空', trigger: 'blur' }],
h11: [{ required: true, message: '11次不能为空', trigger: 'blur' }],
h12: [{ required: true, message: '12次不能为空', trigger: 'blur' }],
h13: [{ required: true, message: '13次不能为空', trigger: 'blur' }],
h14: [{ required: true, message: '14次不能为空', trigger: 'blur' }],
h15: [{ required: true, message: '15次不能为空', trigger: 'blur' }],
h16: [{ required: true, message: '16次不能为空', trigger: 'blur' }],
h17: [{ required: true, message: '17次不能为空', trigger: 'blur' }],
h18: [{ required: true, message: '18次不能为空', trigger: 'blur' }],
h19: [{ required: true, message: '19次不能为空', trigger: 'blur' }],
h20: [{ required: true, message: '20次不能为空', trigger: 'blur' }],
h21: [{ required: true, message: '21次不能为空', trigger: 'blur' }],
h22: [{ required: true, message: '22次不能为空', trigger: 'blur' }],
h23: [{ required: true, message: '23次不能为空', trigger: 'blur' }],
h24: [{ required: true, message: '24次不能为空', trigger: 'blur' }],
h25: [{ required: true, message: '25次不能为空', trigger: 'blur' }],
h26: [{ required: true, message: '26次不能为空', trigger: 'blur' }],
h27: [{ required: true, message: '27次不能为空', trigger: 'blur' }],
h28: [{ required: true, message: '28次不能为空', trigger: 'blur' }],
h29: [{ required: true, message: '29次不能为空', trigger: 'blur' }],
h30: [{ required: true, message: '30次不能为空', trigger: 'blur' }],
h31: [{ required: true, message: '31次不能为空', trigger: 'blur' }],
h32: [{ required: true, message: '32次不能为空', trigger: 'blur' }],
h33: [{ required: true, message: '33次不能为空', trigger: 'blur' }],
h34: [{ required: true, message: '34次不能为空', trigger: 'blur' }],
h35: [{ required: true, message: '35次不能为空', trigger: 'blur' }],
h36: [{ required: true, message: '36次不能为空', trigger: 'blur' }],
h37: [{ required: true, message: '37次不能为空', trigger: 'blur' }],
h38: [{ required: true, message: '38次不能为空', trigger: 'blur' }],
h39: [{ required: true, message: '39次不能为空', trigger: 'blur' }],
h40: [{ required: true, message: '40次不能为空', trigger: 'blur' }],
h41: [{ required: true, message: '41次不能为空', trigger: 'blur' }],
h42: [{ required: true, message: '42次不能为空', trigger: 'blur' }],
h43: [{ required: true, message: '43次不能为空', trigger: 'blur' }],
h44: [{ required: true, message: '44次不能为空', trigger: 'blur' }],
h45: [{ required: true, message: '45次不能为空', trigger: 'blur' }],
h46: [{ required: true, message: '46次不能为空', trigger: 'blur' }],
h47: [{ required: true, message: '47次不能为空', trigger: 'blur' }],
h48: [{ required: true, message: '48次不能为空', trigger: 'blur' }],
h49: [{ required: true, message: '49次不能为空', trigger: 'blur' }],
h50: [{ required: true, message: '50次不能为空', trigger: 'blur' }]
}
}
},
created() {},
methods: {
// 提交
submit() {
this.$refs.form.validate(valid => {
if (valid) {
if (this.title == '新增CVT系数') {
addCVT(this.form).then(res => {
if (res.code == 'A0000') {
this.$emit('querfromdata')
this.$message({
type: 'success',
message: '新增成功!'
})
this.handleClose()
}
})
} else {
updateCvt(this.form).then(res => {
if (res.code == 'A0000') {
this.$emit('querfromdata')
this.$message({
type: 'success',
message: '修改成功!'
})
this.handleClose()
}
})
}
}
})
},
// 关闭弹窗
handleClose() {
this.dialogVisible = false
this.$refs.form.resetFields()
this.$emit('showForm')
},
// 修改
doEdit(row) {
this.form = JSON.parse(JSON.stringify(row))
},
handleInput(value, key) {
// 正则表达式,用于匹配最多保留 3 位小数的数字
const reg = /^\d*(\.\d{0,3})?$/
if (!reg.test(value)) {
// 若输入不符合要求,去除多余的小数部分
const parts = value.toString().split('.')
if (parts.length > 1) {
this.form[key] = `${parts[0]}.${parts[1].slice(0, 3)}`
} else {
this.form[key] = parts[0]
}
}
}
},
computed: {},
mounted() {
// let data = []
// for (let i = 2; i < 51; i++) {
// this.form[`h${i}`] = data[i - 2]
// }
// this.form.cvtName = '日新500-5H9.79kv中间变)'
// this.form.cvtModel = this.form.cvtName
},
watch: {}
}
</script>
<style lang="less" scoped>
@import url('../../../../styles/comStyle.less');
::v-deep .form-two {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
.el-form-item {
display: flex;
width: 49%;
.el-form-item__content {
flex: 1 !important;
.el-select {
width: 100%;
}
.el-input__inner {
width: 100% !important;
}
.el-date-editor {
width: 100%;
}
}
}
}
// ::v-deep .form-two {
// display: flex;
// flex-wrap: wrap;
// justify-content: space-between;
// .el-form-item {
// display: flex;
// width: 49%;
// .el-form-item__content {
// flex: 1 !important;
// .el-select {
// width: 100%;
// }
// .el-input__inner {
// width: 100% !important;
// }
// .el-date-editor {
// width: 100%;
// }
// }
// }
// }
::v-deep .form {
display: flex;
flex-wrap: wrap;
@@ -278,6 +394,7 @@ export default {
.el-form-item {
display: flex;
width: 24%;
margin-bottom: 18px !important;
.el-form-item__content {
flex: 1 !important;
.el-select {

View File

@@ -2,10 +2,10 @@
<div class="pa10">
<el-tabs type="border-card" style="height: calc(100vh - 20px)" v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="CVT台账" name="1">
<cvt></cvt>
<cvt v-if="activeName == '1'"></cvt>
</el-tab-pane>
<el-tab-pane label="数据绑定" name="2">
<bind></bind>
<el-tab-pane label="台账绑定" name="2">
<bind v-if="activeName == '2'"></bind>
</el-tab-pane>
</el-tabs>
</div>

View File

@@ -542,19 +542,8 @@ export default {
month = '0' + month
}
this.form.searchBeginTime = str1[0] + '-' + month + '-' + str1[2]
if (
month == 1 ||
month == 3 ||
month == 5 ||
month == 7 ||
month == 8 ||
month == 10 ||
month == 12
) {
this.form.searchEndTime = str2[0] + '-' + month + '-31'
} else {
this.form.searchEndTime = str2[0] + '-' + month + '-30'
}
this.form.searchEndTime = str2[0] + '-' + month + '-' + new Date(str2[0], month, 0).getDate()
} else {
this.form.searchBeginTime = this.$refs.fff.timeValue[0]
this.form.searchEndTime = this.$refs.fff.timeValue[1]
@@ -938,7 +927,7 @@ export default {
myChart2.clear(option)
myChart2.setOption(option)
window.echartsArr.push(myChart2)
window.echartsArr.push(myChart2)
setTimeout(function () {
myChart2.resize()
}, 0)
@@ -976,19 +965,8 @@ window.echartsArr.push(myChart2)
month = '0' + month
}
this.form.searchBeginTime = str1[0] + '-' + month + '-' + str1[2]
if (
month == 1 ||
month == 3 ||
month == 5 ||
month == 7 ||
month == 8 ||
month == 10 ||
month == 12
) {
this.form.searchEndTime = str2[0] + '-' + month + '-31'
} else {
this.form.searchEndTime = str2[0] + '-' + month + '-30'
}
this.form.searchEndTime = str2[0] + '-' + month + '-' + new Date(str2[0], month, 0).getDate()
} else {
this.form.searchBeginTime = this.$refs.fff.timeValue[0]
this.form.searchEndTime = this.$refs.fff.timeValue[1]
@@ -1320,7 +1298,7 @@ window.echartsArr.push(myChart2)
]
}
option && myChart2.setOption(option, true)
window.echartsArr.push(myChart2)
window.echartsArr.push(myChart2)
setTimeout(function () {
myChart2.resize()
}, 0)
@@ -1349,19 +1327,8 @@ window.echartsArr.push(myChart2)
month = '0' + month
}
this.form.searchBeginTime = str1[0] + '-' + month + '-' + str1[2]
if (
month == 1 ||
month == 3 ||
month == 5 ||
month == 7 ||
month == 8 ||
month == 10 ||
month == 12
) {
this.form.searchEndTime = str2[0] + '-' + month + '-31'
} else {
this.form.searchEndTime = str2[0] + '-' + month + '-30'
}
this.form.searchEndTime = str2[0] + '-' + month + '-' + new Date(str2[0], month, 0).getDate()
} else {
this.form.searchBeginTime = this.$refs.fff.timeValue[0]
this.form.searchEndTime = this.$refs.fff.timeValue[1]
@@ -1545,7 +1512,7 @@ window.echartsArr.push(myChart2)
}
option && myChart2.setOption(option, true)
window.echartsArr.push(myChart2)
window.echartsArr.push(myChart2)
setTimeout(function () {
myChart2.resize()
}, 0)
@@ -1571,19 +1538,8 @@ window.echartsArr.push(myChart2)
month = '0' + month
}
this.form.searchBeginTime = str1[0] + '-' + month + '-' + str1[2]
if (
month == 1 ||
month == 3 ||
month == 5 ||
month == 7 ||
month == 8 ||
month == 10 ||
month == 12
) {
this.form.searchEndTime = str2[0] + '-' + month + '-31'
} else {
this.form.searchEndTime = str2[0] + '-' + month + '-30'
}
this.form.searchEndTime = str2[0] + '-' + month + '-' + new Date(str2[0], month, 0).getDate()
} else {
this.form.searchBeginTime = this.$refs.fff.timeValue[0]
this.form.searchEndTime = this.$refs.fff.timeValue[1]
@@ -1768,7 +1724,7 @@ window.echartsArr.push(myChart2)
}
option && myChart2.setOption(option, true)
window.echartsArr.push(myChart2)
window.echartsArr.push(myChart2)
setTimeout(function () {
myChart2.resize()
}, 0)
@@ -1796,19 +1752,8 @@ window.echartsArr.push(myChart2)
month = '0' + month
}
this.form.searchBeginTime = str1[0] + '-' + month + '-' + str1[2]
if (
month == 1 ||
month == 3 ||
month == 5 ||
month == 7 ||
month == 8 ||
month == 10 ||
month == 12
) {
this.form.searchEndTime = str2[0] + '-' + month + '-31'
} else {
this.form.searchEndTime = str2[0] + '-' + month + '-30'
}
this.form.searchEndTime = str2[0] + '-' + month + '-' + new Date(str2[0], month, 0).getDate()
} else {
this.form.searchBeginTime = this.$refs.fff.timeValue[0]
this.form.searchEndTime = this.$refs.fff.timeValue[1]
@@ -2030,7 +1975,7 @@ window.echartsArr.push(myChart2)
]
}
option && myChart2.setOption(option, true)
window.echartsArr.push(myChart2)
window.echartsArr.push(myChart2)
setTimeout(function () {
myChart2.resize()
}, 0)

View File

@@ -805,19 +805,9 @@ export default {
month = '0' + month
}
this.formData.searchBeginTime = str1[0] + '-' + month + '-' + str1[2]
if (
month == 1 ||
month == 3 ||
month == 5 ||
month == 7 ||
month == 8 ||
month == 10 ||
month == 12
) {
this.formData.searchEndTime = str2[0] + '-' + month + '-31'
} else {
this.formData.searchEndTime = str2[0] + '-' + month + '-30'
}
this.formData.searchEndTime = str2[0] + '-' + month + '-' + new Date(str2[0], month, 0).getDate()
} else {
this.formData.searchBeginTime = this.$refs.timelist.timeValue[0]
this.formData.searchEndTime = this.$refs.timelist.timeValue[1]

View File

@@ -676,19 +676,9 @@ export default {
month = '0' + month
}
this.formData.searchBeginTime = str1[0] + '-' + month + '-' + str1[2]
if (
month == 1 ||
month == 3 ||
month == 5 ||
month == 7 ||
month == 8 ||
month == 10 ||
month == 12
) {
this.formData.searchEndTime = str2[0] + '-' + month + '-31'
} else {
this.formData.searchEndTime = str2[0] + '-' + month + '-30'
}
this.formData.searchEndTime = str2[0] + '-' + month + '-' + new Date(str2[0], month, 0).getDate()
} else {
this.formData.searchBeginTime = this.$refs.fkf.timeValue[0]
this.formData.searchEndTime = this.$refs.fkf.timeValue[1]

View File

@@ -910,19 +910,9 @@ export default {
month = '0' + month
}
this.formData.searchBeginTime = str1[0] + '-' + month + '-' + str1[2]
if (
month == 1 ||
month == 3 ||
month == 5 ||
month == 7 ||
month == 8 ||
month == 10 ||
month == 12
) {
this.formData.searchEndTime = str2[0] + '-' + month + '-31'
} else {
this.formData.searchEndTime = str2[0] + '-' + month + '-30'
}
this.formData.searchEndTime = str2[0] + '-' + month + '-' + new Date(str2[0], month, 0).getDate()
} else {
this.formData.searchBeginTime = this.$refs.fyf.timeValue[0]
this.formData.searchEndTime = this.$refs.fyf.timeValue[1]

View File

@@ -657,19 +657,9 @@ export default {
month = '0' + month
}
this.formData.searchBeginTime = str1[0] + '-' + month + '-' + str1[2]
if (
month == 1 ||
month == 3 ||
month == 5 ||
month == 7 ||
month == 8 ||
month == 10 ||
month == 12
) {
this.formData.searchEndTime = str2[0] + '-' + month + '-31'
} else {
this.formData.searchEndTime = str2[0] + '-' + month + '-30'
}
this.formData.searchEndTime = str2[0] + '-' + month + '-' + new Date(str2[0], month, 0).getDate()
} else {
this.formData.searchBeginTime = this.$refs.timepg.timeValue[0]
this.formData.searchEndTime = this.$refs.timepg.timeValue[1]