六国语言配置,马来西亚项目拓扑图配置
This commit is contained in:
@ -352,7 +352,7 @@ export default {
|
||||
process.env.VUE_APP_BASE_API + '/flow/deviceColDefine/importExcel',
|
||||
headers: {
|
||||
authorization: getToken(),
|
||||
lang: sessionStorage.getItem('language') === 'en' ? 'en_US' : 'zh_CN'
|
||||
lang: sessionStorage.getItem('language') ? sessionStorage.getItem('language') : 'zh_CN'
|
||||
},
|
||||
paramsData: {},
|
||||
fileList: [],
|
||||
|
||||
@ -157,7 +157,7 @@ export default {
|
||||
process.env.VUE_APP_BASE_API + '/business/topologyAttribute/importExcel',
|
||||
headers: {
|
||||
authorization: getToken(),
|
||||
lang: sessionStorage.getItem('language') === 'en' ? 'en_US' : 'zh_CN'
|
||||
lang: sessionStorage.getItem('language') ? sessionStorage.getItem('language') : 'zh_CN'
|
||||
},
|
||||
fileList: [],
|
||||
downloadIng: false,
|
||||
|
||||
@ -0,0 +1,793 @@
|
||||
<template>
|
||||
<ItemBox :title="$t('dashboard.stationTopo')" style="min-height: 560px;">
|
||||
<div ref="svgLine" class="center-box">
|
||||
<div v-loading="loading">
|
||||
<svg
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xml:space="preserve"
|
||||
class="circle-load-rect-svg"
|
||||
viewBox="0 0 800 500"
|
||||
>
|
||||
<defs>
|
||||
<defs>
|
||||
<radialGradient id="RadialGradient1">
|
||||
<stop offset="0%" stop-color="#fff" />
|
||||
<stop offset="30%" stop-color="#0171c1" />
|
||||
<stop offset="50%" stop-color="#035088" />
|
||||
<stop offset="100%" stop-color="#02395a" />
|
||||
</radialGradient>
|
||||
</defs>
|
||||
<marker
|
||||
id="markerCircle"
|
||||
markerWidth="15"
|
||||
markerHeight="15"
|
||||
refX="5"
|
||||
refY="5"
|
||||
>
|
||||
<circle
|
||||
cx="5"
|
||||
cy="5"
|
||||
r="5"
|
||||
style="stroke: none; fill: url(#RadialGradient1)"
|
||||
/>
|
||||
</marker>
|
||||
|
||||
<marker
|
||||
id="markerArrow"
|
||||
markerWidth="13"
|
||||
markerHeight="13"
|
||||
refX="2"
|
||||
refY="6"
|
||||
orient="auto"
|
||||
>
|
||||
<path d="M2,2 L2,11 L10,6 L2,2" style="fill: black" />
|
||||
</marker>
|
||||
</defs>
|
||||
<!-- //线条 -->
|
||||
<!-- top -->
|
||||
<polyline
|
||||
points="120,50 650,50"
|
||||
fill="none"
|
||||
class="g-rect-path"
|
||||
stroke="#0094FF"
|
||||
stroke-dasharray="3 3"
|
||||
/>
|
||||
<!-- <rect
|
||||
x="154"
|
||||
y="78"
|
||||
width="231"
|
||||
height="4"
|
||||
:style="{ fill: 'rgba(100,100,100,0)', stroke: 'transparent',cursor: 'pointer' }"
|
||||
@click="lookDeviceDetail('line-top-left')"
|
||||
/> -->
|
||||
<!-- <polyline
|
||||
points="385,80 600,80"
|
||||
fill="none"
|
||||
class="g-rect-path"
|
||||
stroke="#0094FF"
|
||||
stroke-dasharray="3 3"
|
||||
/> -->
|
||||
<!-- <rect
|
||||
x="385"
|
||||
y="78"
|
||||
width="215"
|
||||
height="4"
|
||||
:style="{ fill: 'rgba(100,100,100,0)', stroke: 'transparent',cursor: 'pointer' }"
|
||||
@click="lookDeviceDetail('line-top-right')"
|
||||
/> -->
|
||||
|
||||
<!-- center -->
|
||||
<polyline
|
||||
points="385,50 385,283"
|
||||
fill="none"
|
||||
class="g-rect-path"
|
||||
stroke="#0094FF"
|
||||
stroke-dasharray="3 3"
|
||||
/>
|
||||
<!-- <rect
|
||||
x="383"
|
||||
y="80"
|
||||
width="4"
|
||||
height="281"
|
||||
:style="{ fill: 'rgba(100,100,100,0)', stroke: 'transparent',cursor: 'pointer' }"
|
||||
@click="lookDeviceDetail('line-bottom-center')"
|
||||
/> -->
|
||||
|
||||
<polyline
|
||||
points="385,100 460,100"
|
||||
fill="none"
|
||||
class="g-rect-path"
|
||||
stroke="#0094FF"
|
||||
stroke-dasharray="3 3"
|
||||
/>
|
||||
|
||||
<!-- bottom -->
|
||||
<polyline
|
||||
points="175,283 385,283"
|
||||
fill="none"
|
||||
class="g-rect-path"
|
||||
stroke="#0094FF"
|
||||
stroke-dasharray="3 3"
|
||||
/>
|
||||
<polyline
|
||||
points="175,283 175,417"
|
||||
fill="none"
|
||||
class="g-rect-path"
|
||||
stroke="#0094FF"
|
||||
stroke-dasharray="3 3"
|
||||
/>
|
||||
<!-- <rect
|
||||
x="104"
|
||||
y="361"
|
||||
width="283"
|
||||
height="4"
|
||||
:style="{ fill: 'rgba(100,100,100,0)', stroke: 'transparent',cursor: 'pointer' }"
|
||||
@click="lookDeviceDetail('line-bottom-left')"
|
||||
/> -->
|
||||
|
||||
<polyline
|
||||
points="385,283 603,283"
|
||||
fill="none"
|
||||
class="g-rect-path"
|
||||
stroke="#0094FF"
|
||||
stroke-dasharray="3 3"
|
||||
/>
|
||||
<polyline
|
||||
points="603,283 603,417"
|
||||
fill="none"
|
||||
class="g-rect-path"
|
||||
stroke="#0094FF"
|
||||
stroke-dasharray="3 3"
|
||||
/>
|
||||
<!-- <rect
|
||||
x="383"
|
||||
y="361"
|
||||
width="272"
|
||||
height="4"
|
||||
:style="{ fill: 'rgba(100,100,100,0)', stroke: 'transparent',cursor: 'pointer' }"
|
||||
@click="lookDeviceDetail('line-bottom-right')"
|
||||
/> -->
|
||||
<!-- top -->
|
||||
<circle
|
||||
cx="120"
|
||||
cy="50"
|
||||
r="8"
|
||||
style="stroke: none; fill: url(#RadialGradient1)"
|
||||
/>
|
||||
<circle
|
||||
cx="650"
|
||||
cy="50"
|
||||
r="8"
|
||||
style="stroke: none; fill: url(#RadialGradient1)"
|
||||
/>
|
||||
|
||||
<!-- 动点 -->
|
||||
<circle
|
||||
cx="120"
|
||||
cy="50"
|
||||
r="8"
|
||||
style="stroke: none; fill: url(#RadialGradient1)"
|
||||
>
|
||||
<animateMotion
|
||||
repeatCount="indefinite"
|
||||
dur="4s"
|
||||
begin="0s"
|
||||
:path="dotData.lineTopLeft"
|
||||
/>
|
||||
</circle>
|
||||
<circle
|
||||
cx="385"
|
||||
cy="283"
|
||||
r="8"
|
||||
style="stroke: none; fill: url(#RadialGradient1)"
|
||||
>
|
||||
<animateMotion
|
||||
repeatCount="indefinite"
|
||||
dur="4s"
|
||||
begin="2s"
|
||||
:path="dotData.lineCenter"
|
||||
/>
|
||||
</circle>
|
||||
<circle
|
||||
cx="650"
|
||||
cy="50"
|
||||
r="8"
|
||||
style="stroke: none; fill: url(#RadialGradient1)"
|
||||
>
|
||||
<animateMotion
|
||||
repeatCount="indefinite"
|
||||
dur="4s"
|
||||
begin="0s"
|
||||
:path="dotData.lineTopRight"
|
||||
/>
|
||||
</circle>
|
||||
|
||||
<!-- bottom -->
|
||||
<circle
|
||||
cx="175"
|
||||
cy="417"
|
||||
r="8"
|
||||
style="stroke: none; fill: url(#RadialGradient1)"
|
||||
/>
|
||||
<circle
|
||||
cx="385"
|
||||
cy="283"
|
||||
r="8"
|
||||
style="stroke: none; fill: url(#RadialGradient1)"
|
||||
/>
|
||||
<circle
|
||||
cx="603"
|
||||
cy="417"
|
||||
r="8"
|
||||
style="stroke: none; fill: url(#RadialGradient1)"
|
||||
/>
|
||||
|
||||
<circle
|
||||
cx="385"
|
||||
cy="283"
|
||||
r="8"
|
||||
style="stroke: none; fill: url(#RadialGradient1)"
|
||||
>
|
||||
<animateMotion
|
||||
repeatCount="indefinite"
|
||||
dur="4s"
|
||||
begin="2s"
|
||||
:path="dotData.lineBottomLeft"
|
||||
/>
|
||||
</circle>
|
||||
|
||||
<circle
|
||||
cx="175"
|
||||
cy="417"
|
||||
r="8"
|
||||
style="stroke: none; fill: url(#RadialGradient1)"
|
||||
>
|
||||
<animateMotion
|
||||
repeatCount="indefinite"
|
||||
dur="4s"
|
||||
begin="2s"
|
||||
:path="dotData.lineBottomLeft"
|
||||
/>
|
||||
</circle>
|
||||
|
||||
<circle
|
||||
cx="603"
|
||||
cy="417"
|
||||
r="8"
|
||||
style="stroke: none; fill: url(#RadialGradient1)"
|
||||
>
|
||||
<animateMotion
|
||||
repeatCount="indefinite"
|
||||
dur="4s"
|
||||
begin="2s"
|
||||
:path="dotData.lineBottomRight"
|
||||
/>
|
||||
</circle>
|
||||
<!-- 图片和文字 -->
|
||||
|
||||
<!-- 市电 -->
|
||||
<image
|
||||
:xlink:href="configData.grid"
|
||||
x="60"
|
||||
y="20"
|
||||
width="50"
|
||||
height="70"
|
||||
/>
|
||||
<!-- <text x="90" y="160" fill="#ffffff" font-size="14"> {{ $t("dashboard.grid") }}</text> -->
|
||||
|
||||
<!-- {{ $t("dashboard.load") }} -->
|
||||
<image
|
||||
:xlink:href="configData.house"
|
||||
x="660"
|
||||
y="20"
|
||||
width="50"
|
||||
height="70"
|
||||
/>
|
||||
<!-- <text x="645" y="160" fill="#ffffff" font-size="14"> {{ $t("dashboard.load") }}</text> -->
|
||||
|
||||
<!-- 1PV -->
|
||||
<image
|
||||
:xlink:href="frameImg"
|
||||
x="145"
|
||||
y="430"
|
||||
width="50"
|
||||
height="50"
|
||||
style="cursor: pointer;"
|
||||
@click="lookDeviceDetail('triad-pcs-left')"
|
||||
/>
|
||||
<!-- DCDC -->
|
||||
<image
|
||||
:xlink:href="DCImg"
|
||||
x="157"
|
||||
y="330"
|
||||
width="35"
|
||||
height="35"
|
||||
/>
|
||||
<!-- <text x="86" y="490" fill="#ffffff" font-size="14">1#{{ $t("dashboard.cabinet") }}</text> -->
|
||||
<!-- 2PV -->
|
||||
<!-- <image
|
||||
:xlink:href="frameImg"
|
||||
x="355"
|
||||
y="430"
|
||||
width="50"
|
||||
height="50"
|
||||
style="cursor: pointer;"
|
||||
@click="lookDeviceDetail('triad-pcs-center')"
|
||||
/> -->
|
||||
<!-- DCDC -->
|
||||
<!-- <image
|
||||
:xlink:href="DCImg"
|
||||
x="367"
|
||||
y="330"
|
||||
width="35"
|
||||
height="35"
|
||||
/> -->
|
||||
<!-- <text x="360" y="490" fill="#ffffff" font-size="14">
|
||||
2#{{ $t("dashboard.cabinet") }}
|
||||
</text> -->
|
||||
<!-- 3柜 -->
|
||||
<image
|
||||
:xlink:href="configData.pcs2"
|
||||
x="574"
|
||||
y="430"
|
||||
width="50"
|
||||
height="50"
|
||||
style="cursor: pointer;"
|
||||
@click="lookDeviceDetail('triad-pcs-right')"
|
||||
/>
|
||||
<!-- <text x="614" y="490" fill="#ffffff" font-size="14">3#{{ $t("dashboard.cabinet") }}</text> -->
|
||||
|
||||
<!-- STS -->
|
||||
<image
|
||||
:xlink:href="STSImg"
|
||||
x="365"
|
||||
y="130"
|
||||
width="40"
|
||||
height="40"
|
||||
style="cursor: pointer;"
|
||||
@click="lookDeviceDetail('triad-sts-center')"
|
||||
/>
|
||||
<!-- AC/DC -->
|
||||
<image
|
||||
:xlink:href="ACDCImg"
|
||||
x="368"
|
||||
y="200"
|
||||
width="35"
|
||||
height="35"
|
||||
style="cursor: pointer;"
|
||||
@click="lookDeviceDetail('triad-acdc-center')"
|
||||
/>
|
||||
|
||||
<!-- {{ $t("dashboard.ammeter") }} -->
|
||||
<image
|
||||
:xlink:href="ammeterImg"
|
||||
x="450"
|
||||
y="80"
|
||||
width="70"
|
||||
height="42"
|
||||
style="cursor: pointer;"
|
||||
@click="lookDeviceDetail('triad-ammeter')"
|
||||
/>
|
||||
|
||||
<!-- 瞬时总有功 -->
|
||||
|
||||
<g v-for="(item,index) in ammeterData" :key="item.id">
|
||||
<text x="520" :y="105 + ( 20 * index)" fill="#ffffff" font-size="14">
|
||||
{{ item.name }}
|
||||
</text>
|
||||
<text :x="countChineseAndEnglishCharacters(item.name,lang === 'zh_CN'?510:470)" :y="105 + ( 20 * index)" fill="#FFB800" font-size="14">
|
||||
{{ item.value }}
|
||||
</text>
|
||||
</g>
|
||||
<!-- STS -->
|
||||
|
||||
<g v-for="(item,index) in stsCenterData" :key="item.id">
|
||||
<text x="415" :y="153 + ( 20 * index)" fill="#ffffff" font-size="14">
|
||||
{{ item.name }}
|
||||
</text>
|
||||
<text :x="countChineseAndEnglishCharacters(item.name,lang === 'zh_CN'?415:360)" :y="153 + ( 20 * index)" fill="#FFB800" font-size="14">
|
||||
{{ item.value }}
|
||||
</text>
|
||||
</g>
|
||||
<!-- ACDC -->
|
||||
|
||||
<g v-for="(item,index) in acdcCenterData" :key="item.id">
|
||||
<text x="415" :y="213 + ( 20 * index)" fill="#ffffff" font-size="14">
|
||||
{{ item.name }}
|
||||
</text>
|
||||
<text :x="countChineseAndEnglishCharacters(item.name,lang === 'zh_CN'?415:375)" :y="213 + ( 20 * index)" fill="#FFB800" font-size="14">
|
||||
{{ item.value }}
|
||||
</text>
|
||||
</g>
|
||||
<!-- 左侧 1PV -->
|
||||
<g v-for="(item,index) in pcsLeftData" :key="item.id">
|
||||
<foreignObject
|
||||
:x="200"
|
||||
:y="450 + (20 * index) - 14"
|
||||
width="150"
|
||||
height="20"
|
||||
style="overflow: visible;"
|
||||
>
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: center;">
|
||||
<el-tooltip
|
||||
:content="item.name"
|
||||
placement="top"
|
||||
:open-delay="400"
|
||||
effect="dark"
|
||||
popper-class="svg-tooltip"
|
||||
>
|
||||
<span style="font-size: 14px;font-family: sans-serif;color: #ffffff;max-width: 120px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis">
|
||||
{{ truncateText(item.name, 120) }}
|
||||
</span>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<text :x="calculateValueX(item.name, 200)" :y="450 + ( 20 * index)" fill="#FFB800" font-size="14">
|
||||
{{ item.value }}
|
||||
</text>
|
||||
</g>
|
||||
|
||||
<!-- 右侧 3PCS -->
|
||||
<g v-for="(item,index) in pcsRightData" :key="item.id">
|
||||
<text x="622" :y="450 + ( 20 * index)" fill="#ffffff" font-size="14">
|
||||
{{ item.name }}
|
||||
</text>
|
||||
<text :x="countChineseAndEnglishCharacters(item.name,622)" :y="450 + ( 20 * index)" fill="#FFB800" font-size="14">
|
||||
{{ item.value }}
|
||||
</text>
|
||||
</g>
|
||||
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
<DispositionPointData
|
||||
:disposition-show="show_point_dispostion"
|
||||
:max="4"
|
||||
:page-location="pageLocation"
|
||||
@close="closePoint"
|
||||
@getData="getDynamicPointData"
|
||||
/>
|
||||
</ItemBox>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import gridImg from '@/assets/images/wxjd/grid.png'
|
||||
import ammeterImg from '@/assets/images/wxjd/ammeter.png'
|
||||
import cabinetImg from '@/assets/images/wxjd/cabinet.png'
|
||||
import chargingPileImg from '@/assets/images/home-office.png'
|
||||
import distributionCabinetImg from '@/assets/images/wxjd/guiImg.png'
|
||||
import frameImg from '@/assets/images/wxjd/frame.png'
|
||||
import cangImg from '@/assets/images/home-cang.png'
|
||||
import { DynamicConfigPoint } from '@/api/home-page/index'
|
||||
import config from './config'
|
||||
import { changeTheme } from '@/utils/index'
|
||||
import ACDCImg from '@/assets/images/wxjd/ACDC.png'
|
||||
import DCImg from '@/assets/images/wxjd/DC.png'
|
||||
import STSImg from '@/assets/images/wxjd/STS.png'
|
||||
export default {
|
||||
name: 'Index',
|
||||
props: {
|
||||
stationType: {
|
||||
type: Number,
|
||||
default: 0
|
||||
},
|
||||
stationId: {
|
||||
type: Number,
|
||||
default: 0
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
gridImg,
|
||||
ammeterImg,
|
||||
cabinetImg,
|
||||
chargingPileImg,
|
||||
distributionCabinetImg,
|
||||
cangImg,
|
||||
frameImg,
|
||||
ACDCImg,
|
||||
DCImg,
|
||||
STSImg,
|
||||
dotData: {
|
||||
lineTop: 'M 0,0 0,0',
|
||||
lineTopLeft: 'M 0,0 0,0',
|
||||
lineBottomLeft: 'M 0,0 0,0 0,0',
|
||||
lineBottomRight: 'M 0,0 0,0 0,0',
|
||||
lineBottomLeftTwo: 'M 0,0 0,0 0,0',
|
||||
lineBottomRightTwo: 'M 0,0 0,0 0,0'
|
||||
},
|
||||
|
||||
partList: [
|
||||
{ soc: 0, soh: 0, activePowerPCS: 0.0, reactivePowerPCS: 0.0 },
|
||||
{ soc: 0, soh: 0, activePowerPCS: 0.0, reactivePowerPCS: 0.0 },
|
||||
{ soc: 0, soh: 0, activePowerPCS: 0.0, reactivePowerPCS: 0.0 },
|
||||
{ soc: 0, soh: 0, activePowerPCS: 0.0, reactivePowerPCS: 0.0 }
|
||||
],
|
||||
loading: false,
|
||||
activePowerTotal: {},
|
||||
show_point_dispostion: false,
|
||||
pageLocation: '',
|
||||
permissionId: null,
|
||||
pcsLeftData: [],
|
||||
pcsCenterData: [],
|
||||
pcsRightData: [],
|
||||
stsCenterData: [],
|
||||
acdcCenterData: [],
|
||||
ammeterData: [],
|
||||
configData: {}
|
||||
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
lang() {
|
||||
return this.$store.getters.language
|
||||
}
|
||||
},
|
||||
watch: {},
|
||||
created() {
|
||||
const result = changeTheme()
|
||||
this.configData = config[result]
|
||||
console.log('配置' + JSON.stringify(this.configData))
|
||||
|
||||
setTimeout(() => {
|
||||
if (this.$store.getters.menuList.length) {
|
||||
this.permissionId = this.$store.getters.menuList.find(item => {
|
||||
return item.url === this.$route.path
|
||||
}).id
|
||||
}
|
||||
}, 300)
|
||||
},
|
||||
mounted() {},
|
||||
methods: {
|
||||
truncateText(text, maxWidth) {
|
||||
if (!text) return ''
|
||||
const width = this.measureTextWidth(text)
|
||||
if (width <= maxWidth) return text
|
||||
|
||||
let truncated = text
|
||||
while (this.measureTextWidth(truncated + '...') > maxWidth && truncated.length > 0) {
|
||||
truncated = truncated.slice(0, -1)
|
||||
}
|
||||
return truncated + (truncated.length < text.length ? '...' : '')
|
||||
},
|
||||
// 精确测量文本渲染宽度(像素)
|
||||
measureTextWidth(text, font = '14px sans-serif') {
|
||||
// 创建或复用一个 canvas(避免重复创建)
|
||||
if (!this._textMeasurementCanvas) {
|
||||
this._textMeasurementCanvas = document.createElement('canvas')
|
||||
}
|
||||
const ctx = this._textMeasurementCanvas.getContext('2d')
|
||||
ctx.font = font
|
||||
return ctx.measureText(text).width
|
||||
},
|
||||
|
||||
// 计算 value 的 x 坐标:baseX + name 的实际宽度 + 一点间距
|
||||
calculateValueX(name, baseX = 200) {
|
||||
const truncatedName = this.truncateText(name, 120) // 限制 name 最大宽度
|
||||
const width = this.measureTextWidth(truncatedName)
|
||||
return baseX + width + 6 // +6 是 name 和 value 之间的小空隙
|
||||
},
|
||||
countChineseAndEnglishCharacters(str, x) {
|
||||
var chineseCount = str.match(/[\u4e00-\u9fa5]/g) ? str.match(/[\u4e00-\u9fa5]/g).length : 0
|
||||
var englishCount = str.match(/[a-zA-Z]/g) ? str.match(/[a-zA-Z]/g).length : 0
|
||||
var otherCount = str.length - chineseCount - englishCount
|
||||
const obj = { otherCount: otherCount, chineseCount: chineseCount, englishCount: englishCount }
|
||||
return (obj.englishCount * 11) + (obj.chineseCount * 16) + (obj.otherCount * 8) + x
|
||||
},
|
||||
lookDeviceDetail(val) { // 查看设备详情
|
||||
this.pageLocation = val
|
||||
this.show_point_dispostion = true
|
||||
},
|
||||
closePoint() {
|
||||
this.show_point_dispostion = false
|
||||
},
|
||||
async getpcsCenter() {
|
||||
this.loading = true
|
||||
try {
|
||||
const res = await DynamicConfigPoint({
|
||||
pageLocation: 'triad-pcs-center',
|
||||
permissionId: this.permissionId,
|
||||
stationId: this.stationId })
|
||||
this.pcsCenterData = res.data
|
||||
} catch (error) {
|
||||
// console.log(error);
|
||||
} finally {
|
||||
this.loading = false
|
||||
}
|
||||
},
|
||||
async getstsCenter() {
|
||||
this.loading = true
|
||||
try {
|
||||
const res = await DynamicConfigPoint({
|
||||
pageLocation: 'triad-sts-center',
|
||||
permissionId: this.permissionId,
|
||||
stationId: this.stationId })
|
||||
this.stsCenterData = res.data
|
||||
} catch (error) {
|
||||
// console.log(error);
|
||||
} finally {
|
||||
this.loading = false
|
||||
}
|
||||
},
|
||||
async getacdcCenter() {
|
||||
this.loading = true
|
||||
try {
|
||||
const res = await DynamicConfigPoint({
|
||||
pageLocation: 'triad-acdc-center',
|
||||
permissionId: this.permissionId,
|
||||
stationId: this.stationId })
|
||||
this.acdcCenterData = res.data
|
||||
} catch (error) {
|
||||
// console.log(error);
|
||||
} finally {
|
||||
this.loading = false
|
||||
}
|
||||
},
|
||||
async getLineStatus(type) {
|
||||
this.loading = true
|
||||
try {
|
||||
const res = await DynamicConfigPoint({
|
||||
pageLocation: type,
|
||||
permissionId: this.permissionId,
|
||||
stationId: this.stationId })
|
||||
if (type === 'line-bottom-left') {
|
||||
if (res.data?.length) {
|
||||
if (res.data[0].value > 0) {
|
||||
this.dotData.lineBottomLeft = 'M 283,0, 280, 0, 0 ,0'
|
||||
} else if (res.data[0].value < 0) {
|
||||
this.dotData.lineBottomLeft = 'M 0,0 281,0 281,0'
|
||||
} else {
|
||||
this.dotData.lineBottomLeft = ''
|
||||
}
|
||||
} else {
|
||||
this.dotData.lineBottomLeft = ''
|
||||
}
|
||||
} else if (type === 'line-bottom-right') {
|
||||
if (res.data?.length) {
|
||||
if (res.data[0].value > 0) {
|
||||
this.dotData.lineBottomRight = 'M -271, 0 , -271 , 0 , 0 , 0'
|
||||
} else if (res.data[0].value < 0) {
|
||||
this.dotData.lineBottomRight = 'M 0,0 -271,0 -271,0'
|
||||
} else {
|
||||
this.dotData.lineBottomRight = ''
|
||||
}
|
||||
} else {
|
||||
this.dotData.lineBottomRight = ''
|
||||
}
|
||||
} else if (type === 'line-bottom-center') {
|
||||
if (res.data?.length) {
|
||||
if (res.data[0].value > 0) {
|
||||
this.dotData.lineCenter = 'M 0,-283,0,0,0,0'
|
||||
} else if (res.data[0].value < 0) {
|
||||
this.dotData.lineCenter = 'M 0,0,0,0,0,-283'
|
||||
} else {
|
||||
this.dotData.lineCenter = ''
|
||||
}
|
||||
} else {
|
||||
this.dotData.lineCenter = ''
|
||||
}
|
||||
} else if (type === 'line-top-left') {
|
||||
if (res.data?.length) {
|
||||
if (res.data[0].value > 0) {
|
||||
this.dotData.lineTopLeft = 'M 230,0 0,0'
|
||||
} else if (res.data[0].value < 0) {
|
||||
this.dotData.lineTopLeft = 'M 0,0 225,0'
|
||||
} else {
|
||||
this.dotData.lineTopLeft = ''
|
||||
}
|
||||
} else {
|
||||
this.dotData.lineTopLeft = ''
|
||||
}
|
||||
} else if (type === 'line-top-right') {
|
||||
if (res.data?.length) {
|
||||
if (res.data[0].value > 0) {
|
||||
this.dotData.lineTopRight = 'M -230,0 0,0'
|
||||
} else if (res.data[0].value < 0) {
|
||||
this.dotData.lineTopRight = 'M 0,0 -225,0'
|
||||
} else {
|
||||
this.dotData.lineTopRight = ''
|
||||
}
|
||||
} else {
|
||||
this.dotData.lineTopRight = ''
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
// console.log(error);
|
||||
} finally {
|
||||
this.loading = false
|
||||
}
|
||||
},
|
||||
async getpcsLeft() {
|
||||
this.loading = true
|
||||
try {
|
||||
const res = await DynamicConfigPoint({
|
||||
pageLocation: 'triad-pcs-left',
|
||||
permissionId: this.permissionId,
|
||||
stationId: this.stationId })
|
||||
this.pcsLeftData = res.data
|
||||
} catch (error) {
|
||||
// console.log(error);
|
||||
} finally {
|
||||
this.loading = false
|
||||
}
|
||||
},
|
||||
async getammeter() {
|
||||
this.loading = true
|
||||
try {
|
||||
const res = await DynamicConfigPoint({
|
||||
pageLocation: 'triad-ammeter',
|
||||
permissionId: this.permissionId,
|
||||
stationId: this.stationId })
|
||||
this.ammeterData = res.data
|
||||
} catch (error) {
|
||||
// console.log(error);
|
||||
} finally {
|
||||
this.loading = false
|
||||
}
|
||||
},
|
||||
async getpcsRight() {
|
||||
this.loading = true
|
||||
try {
|
||||
const res = await DynamicConfigPoint({
|
||||
pageLocation: 'triad-pcs-right',
|
||||
permissionId: this.permissionId,
|
||||
stationId: this.stationId })
|
||||
this.pcsRightData = res.data
|
||||
} catch (error) {
|
||||
// console.log(error);
|
||||
} finally {
|
||||
this.loading = false
|
||||
}
|
||||
},
|
||||
|
||||
getData() {
|
||||
this.getpcsRight()
|
||||
this.getpcsCenter()
|
||||
this.getstsCenter()
|
||||
this.getacdcCenter()
|
||||
this.getpcsLeft()
|
||||
this.getammeter()
|
||||
this.getLineStatus('line-bottom-left')
|
||||
this.getLineStatus('line-bottom-center')
|
||||
this.getLineStatus('line-bottom-right')
|
||||
this.getLineStatus('line-top-left')
|
||||
this.getLineStatus('line-top-right')
|
||||
this.$forceUpdate()
|
||||
},
|
||||
getDynamicPointData() {
|
||||
this.getData()
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.center-box {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
@mixin move-round($duration, $delay) {
|
||||
fill: none;
|
||||
stroke-width: 5;
|
||||
stroke-linejoin: round;
|
||||
stroke-linecap: round;
|
||||
stroke-dasharray: 3, 900;
|
||||
stroke-dashoffset: 0;
|
||||
animation: lineMove $duration $delay cubic-bezier(0, 0, 0.74, 0.74) infinite;
|
||||
}
|
||||
|
||||
@keyframes lineMove {
|
||||
0% {
|
||||
stroke-dashoffset: -850;
|
||||
}
|
||||
100% {
|
||||
stroke-dashoffset: -0;
|
||||
}
|
||||
}
|
||||
.g-rect-fill-two {
|
||||
@include move-round(3.5s, 1s);
|
||||
}
|
||||
</style>
|
||||
@ -377,7 +377,7 @@
|
||||
<text x="520" :y="105 + ( 20 * index)" fill="#ffffff" font-size="14">
|
||||
{{ item.name }}
|
||||
</text>
|
||||
<text :x="countChineseAndEnglishCharacters(item.name,lang === 'zh'?510:470)" :y="105 + ( 20 * index)" fill="#FFB800" font-size="14">
|
||||
<text :x="countChineseAndEnglishCharacters(item.name,lang === 'zh_CN'?510:470)" :y="105 + ( 20 * index)" fill="#FFB800" font-size="14">
|
||||
{{ item.value }}
|
||||
</text>
|
||||
</g>
|
||||
@ -388,7 +388,7 @@
|
||||
<text x="415" :y="213 + ( 20 * index)" fill="#ffffff" font-size="14">
|
||||
{{ item.name }}
|
||||
</text>
|
||||
<text :x="countChineseAndEnglishCharacters(item.name,lang === 'zh'?415:375)" :y="213 + ( 20 * index)" fill="#FFB800" font-size="14">
|
||||
<text :x="countChineseAndEnglishCharacters(item.name,lang === 'zh_CN'?415:375)" :y="213 + ( 20 * index)" fill="#FFB800" font-size="14">
|
||||
{{ item.value }}
|
||||
</text>
|
||||
</g>
|
||||
|
||||
@ -0,0 +1,810 @@
|
||||
<template>
|
||||
<ItemBox :title="$t('dashboard.stationTopo')" style="min-height: 560px;">
|
||||
<div ref="svgLine" class="center-box">
|
||||
<div v-loading="loading">
|
||||
<svg
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xml:space="preserve"
|
||||
class="circle-load-rect-svg"
|
||||
viewBox="0 0 800 500"
|
||||
>
|
||||
<defs>
|
||||
<defs>
|
||||
<radialGradient id="RadialGradient1">
|
||||
<stop offset="0%" stop-color="#fff" />
|
||||
<stop offset="30%" stop-color="#0171c1" />
|
||||
<stop offset="50%" stop-color="#035088" />
|
||||
<stop offset="100%" stop-color="#02395a" />
|
||||
</radialGradient>
|
||||
</defs>
|
||||
<marker
|
||||
id="markerCircle"
|
||||
markerWidth="15"
|
||||
markerHeight="15"
|
||||
refX="5"
|
||||
refY="5"
|
||||
>
|
||||
<circle
|
||||
cx="5"
|
||||
cy="5"
|
||||
r="5"
|
||||
style="stroke: none; fill: url(#RadialGradient1)"
|
||||
/>
|
||||
</marker>
|
||||
|
||||
<marker
|
||||
id="markerArrow"
|
||||
markerWidth="13"
|
||||
markerHeight="13"
|
||||
refX="2"
|
||||
refY="6"
|
||||
orient="auto"
|
||||
>
|
||||
<path d="M2,2 L2,11 L10,6 L2,2" style="fill: black" />
|
||||
</marker>
|
||||
</defs>
|
||||
<!-- //线条 -->
|
||||
<!-- top -->
|
||||
<polyline
|
||||
points="120,50 650,50"
|
||||
fill="none"
|
||||
class="g-rect-path"
|
||||
stroke="#0094FF"
|
||||
stroke-dasharray="3 3"
|
||||
/>
|
||||
<!-- center -->
|
||||
<polyline
|
||||
points="385,50 385,417"
|
||||
fill="none"
|
||||
class="g-rect-path"
|
||||
stroke="#0094FF"
|
||||
stroke-dasharray="3 3"
|
||||
/>
|
||||
<!-- <rect
|
||||
x="383"
|
||||
y="80"
|
||||
width="4"
|
||||
height="281"
|
||||
:style="{ fill: 'rgba(100,100,100,0)', stroke: 'transparent',cursor: 'pointer' }"
|
||||
@click="lookDeviceDetail('line-bottom-center')"
|
||||
/> -->
|
||||
|
||||
<polyline
|
||||
points="385,100 460,100"
|
||||
fill="none"
|
||||
class="g-rect-path"
|
||||
stroke="#0094FF"
|
||||
stroke-dasharray="3 3"
|
||||
/>
|
||||
|
||||
<!-- bottom -->
|
||||
<polyline
|
||||
points="175,283 385,283"
|
||||
fill="none"
|
||||
class="g-rect-path"
|
||||
stroke="#0094FF"
|
||||
stroke-dasharray="3 3"
|
||||
/>
|
||||
<polyline
|
||||
points="175,283 175,417"
|
||||
fill="none"
|
||||
class="g-rect-path"
|
||||
stroke="#0094FF"
|
||||
stroke-dasharray="3 3"
|
||||
/>
|
||||
<!-- <rect
|
||||
x="104"
|
||||
y="361"
|
||||
width="283"
|
||||
height="4"
|
||||
:style="{ fill: 'rgba(100,100,100,0)', stroke: 'transparent',cursor: 'pointer' }"
|
||||
@click="lookDeviceDetail('line-bottom-left')"
|
||||
/> -->
|
||||
|
||||
<polyline
|
||||
points="385,283 603,283"
|
||||
fill="none"
|
||||
class="g-rect-path"
|
||||
stroke="#0094FF"
|
||||
stroke-dasharray="3 3"
|
||||
/>
|
||||
<polyline
|
||||
points="603,283 603,417"
|
||||
fill="none"
|
||||
class="g-rect-path"
|
||||
stroke="#0094FF"
|
||||
stroke-dasharray="3 3"
|
||||
/>
|
||||
<!-- <rect
|
||||
x="383"
|
||||
y="361"
|
||||
width="272"
|
||||
height="4"
|
||||
:style="{ fill: 'rgba(100,100,100,0)', stroke: 'transparent',cursor: 'pointer' }"
|
||||
@click="lookDeviceDetail('line-bottom-right')"
|
||||
/> -->
|
||||
<!-- top -->
|
||||
<circle
|
||||
cx="120"
|
||||
cy="50"
|
||||
r="8"
|
||||
style="stroke: none; fill: url(#RadialGradient1)"
|
||||
/>
|
||||
<circle
|
||||
cx="650"
|
||||
cy="50"
|
||||
r="8"
|
||||
style="stroke: none; fill: url(#RadialGradient1)"
|
||||
/>
|
||||
|
||||
<!-- 动点 -->
|
||||
<circle
|
||||
cx="120"
|
||||
cy="50"
|
||||
r="8"
|
||||
style="stroke: none; fill: url(#RadialGradient1)"
|
||||
>
|
||||
<animateMotion
|
||||
repeatCount="indefinite"
|
||||
dur="4s"
|
||||
begin="0s"
|
||||
:path="dotData.lineTopLeft"
|
||||
/>
|
||||
</circle>
|
||||
<circle
|
||||
cx="385"
|
||||
cy="417"
|
||||
r="8"
|
||||
style="stroke: none; fill: url(#RadialGradient1)"
|
||||
>
|
||||
<animateMotion
|
||||
repeatCount="indefinite"
|
||||
dur="4s"
|
||||
begin="2s"
|
||||
:path="dotData.lineCenter"
|
||||
/>
|
||||
</circle>
|
||||
<circle
|
||||
cx="650"
|
||||
cy="50"
|
||||
r="8"
|
||||
style="stroke: none; fill: url(#RadialGradient1)"
|
||||
>
|
||||
<animateMotion
|
||||
repeatCount="indefinite"
|
||||
dur="4s"
|
||||
begin="0s"
|
||||
:path="dotData.lineTopRight"
|
||||
/>
|
||||
</circle>
|
||||
|
||||
<!-- bottom -->
|
||||
<circle
|
||||
cx="175"
|
||||
cy="417"
|
||||
r="8"
|
||||
style="stroke: none; fill: url(#RadialGradient1)"
|
||||
/>
|
||||
<circle
|
||||
cx="385"
|
||||
cy="417"
|
||||
r="8"
|
||||
style="stroke: none; fill: url(#RadialGradient1)"
|
||||
/>
|
||||
<circle
|
||||
cx="603"
|
||||
cy="417"
|
||||
r="8"
|
||||
style="stroke: none; fill: url(#RadialGradient1)"
|
||||
/>
|
||||
|
||||
<circle
|
||||
cx="385"
|
||||
cy="417"
|
||||
r="8"
|
||||
style="stroke: none; fill: url(#RadialGradient1)"
|
||||
/>
|
||||
|
||||
<circle
|
||||
cx="175"
|
||||
cy="417"
|
||||
r="8"
|
||||
style="stroke: none; fill: url(#RadialGradient1)"
|
||||
>
|
||||
<animateMotion
|
||||
repeatCount="indefinite"
|
||||
dur="4s"
|
||||
begin="2s"
|
||||
:path="dotData.lineBottomLeft"
|
||||
/>
|
||||
</circle>
|
||||
|
||||
<circle
|
||||
cx="603"
|
||||
cy="417"
|
||||
r="8"
|
||||
style="stroke: none; fill: url(#RadialGradient1)"
|
||||
>
|
||||
<animateMotion
|
||||
repeatCount="indefinite"
|
||||
dur="4s"
|
||||
begin="2s"
|
||||
:path="dotData.lineBottomRight"
|
||||
/>
|
||||
</circle>
|
||||
<!-- 图片和文字 -->
|
||||
|
||||
<!-- 市电 -->
|
||||
<image
|
||||
:xlink:href="configData.grid"
|
||||
x="60"
|
||||
y="20"
|
||||
width="50"
|
||||
height="70"
|
||||
/>
|
||||
<!-- <text x="90" y="160" fill="#ffffff" font-size="14"> {{ $t("dashboard.grid") }}</text> -->
|
||||
|
||||
<!-- {{ $t("dashboard.load") }} -->
|
||||
<image
|
||||
:xlink:href="configData.house"
|
||||
x="660"
|
||||
y="20"
|
||||
width="50"
|
||||
height="70"
|
||||
/>
|
||||
<!-- <text x="645" y="160" fill="#ffffff" font-size="14"> {{ $t("dashboard.load") }}</text> -->
|
||||
<!-- 1PV -->
|
||||
<image
|
||||
:xlink:href="frameImg"
|
||||
x="145"
|
||||
y="430"
|
||||
width="50"
|
||||
height="50"
|
||||
style="cursor: pointer;"
|
||||
@click="lookDeviceDetail('triad-pcs-left')"
|
||||
/>
|
||||
<!-- DCDC -->
|
||||
<image
|
||||
:xlink:href="DCImg"
|
||||
x="157"
|
||||
y="330"
|
||||
width="35"
|
||||
height="35"
|
||||
/>
|
||||
<!-- <text x="86" y="490" fill="#ffffff" font-size="14">1#{{ $t("dashboard.cabinet") }}</text> -->
|
||||
<!-- 2PV -->
|
||||
<image
|
||||
:xlink:href="frameImg"
|
||||
x="355"
|
||||
y="430"
|
||||
width="50"
|
||||
height="50"
|
||||
style="cursor: pointer;"
|
||||
@click="lookDeviceDetail('triad-pcs-center')"
|
||||
/>
|
||||
<!-- DCDC -->
|
||||
<image
|
||||
:xlink:href="DCImg"
|
||||
x="367"
|
||||
y="330"
|
||||
width="35"
|
||||
height="35"
|
||||
/>
|
||||
<!-- <text x="360" y="490" fill="#ffffff" font-size="14">
|
||||
2#{{ $t("dashboard.cabinet") }}
|
||||
</text> -->
|
||||
<!-- 3柜 -->
|
||||
<image
|
||||
:xlink:href="configData.pcs2"
|
||||
x="574"
|
||||
y="430"
|
||||
width="50"
|
||||
height="50"
|
||||
style="cursor: pointer;"
|
||||
@click="lookDeviceDetail('triad-pcs-right')"
|
||||
/>
|
||||
<!-- <text x="614" y="490" fill="#ffffff" font-size="14">3#{{ $t("dashboard.cabinet") }}</text> -->
|
||||
|
||||
<!-- STS -->
|
||||
<image
|
||||
:xlink:href="STSImg"
|
||||
x="365"
|
||||
y="130"
|
||||
width="40"
|
||||
height="40"
|
||||
style="cursor: pointer;"
|
||||
@click="lookDeviceDetail('triad-sts-center')"
|
||||
/>
|
||||
<!-- AC/DC -->
|
||||
<image
|
||||
:xlink:href="ACDCImg"
|
||||
x="368"
|
||||
y="200"
|
||||
width="35"
|
||||
height="35"
|
||||
style="cursor: pointer;"
|
||||
@click="lookDeviceDetail('triad-acdc-center')"
|
||||
/>
|
||||
|
||||
<!-- {{ $t("dashboard.ammeter") }} -->
|
||||
<image
|
||||
:xlink:href="ammeterImg"
|
||||
x="450"
|
||||
y="80"
|
||||
width="70"
|
||||
height="42"
|
||||
style="cursor: pointer;"
|
||||
@click="lookDeviceDetail('triad-ammeter')"
|
||||
/>
|
||||
|
||||
<!-- 瞬时总有功 -->
|
||||
|
||||
<g v-for="(item,index) in ammeterData" :key="item.id">
|
||||
<text x="520" :y="105 + ( 20 * index)" fill="#ffffff" font-size="14">
|
||||
{{ item.name }}
|
||||
</text>
|
||||
<text :x="countChineseAndEnglishCharacters(item.name,lang === 'zh_CN'?510:465)" :y="105 + ( 20 * index)" fill="#FFB800" font-size="14">
|
||||
{{ item.value }}
|
||||
</text>
|
||||
</g>
|
||||
|
||||
<!-- STS -->
|
||||
|
||||
<g v-for="(item,index) in stsCenterData" :key="item.id">
|
||||
<text x="415" :y="153 + ( 20 * index)" fill="#ffffff" font-size="14">
|
||||
{{ item.name }}
|
||||
</text>
|
||||
<text :x="countChineseAndEnglishCharacters(item.name,lang === 'zh_CN'?415:360)" :y="153 + ( 20 * index)" fill="#FFB800" font-size="14">
|
||||
{{ item.value }}
|
||||
</text>
|
||||
</g>
|
||||
|
||||
<!-- ACDC -->
|
||||
|
||||
<g v-for="(item,index) in acdcCenterData" :key="item.id">
|
||||
<text x="415" :y="213 + ( 20 * index)" fill="#ffffff" font-size="14">
|
||||
{{ item.name }}
|
||||
</text>
|
||||
<text :x="countChineseAndEnglishCharacters(item.name,lang === 'zh_CN'?415:360)" :y="213 + ( 20 * index)" fill="#FFB800" font-size="14">
|
||||
{{ item.value }}
|
||||
</text>
|
||||
</g>
|
||||
<!-- 左侧 1PV -->
|
||||
<g v-for="(item,index) in pcsLeftData" :key="item.id">
|
||||
<foreignObject
|
||||
:x="200"
|
||||
:y="450 + (20 * index) - 14"
|
||||
width="150"
|
||||
height="20"
|
||||
style="overflow: visible;"
|
||||
>
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: center;">
|
||||
<el-tooltip
|
||||
:content="item.name"
|
||||
placement="top"
|
||||
:open-delay="400"
|
||||
effect="dark"
|
||||
popper-class="svg-tooltip"
|
||||
>
|
||||
<span style="font-size: 14px;font-family: sans-serif;color: #ffffff;max-width: 120px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis">
|
||||
{{ truncateText(item.name, 90) }}
|
||||
</span>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<text :x="calculateValueX(item.name, 205)" :y="450 + ( 20 * index)" fill="#FFB800" font-size="14">
|
||||
{{ item.value }}
|
||||
</text>
|
||||
</g>
|
||||
|
||||
<!-- 中间 2PV -->
|
||||
<g v-for="(item,index) in pcsCenterData" :key="item.id">
|
||||
<foreignObject
|
||||
:x="410"
|
||||
:y="450 + (20 * index) - 14"
|
||||
width="150"
|
||||
height="20"
|
||||
style="overflow: visible;"
|
||||
>
|
||||
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: center;">
|
||||
<el-tooltip
|
||||
:content="item.name"
|
||||
placement="top"
|
||||
:open-delay="400"
|
||||
effect="dark"
|
||||
popper-class="svg-tooltip"
|
||||
>
|
||||
<span style="font-size: 14px;font-family: sans-serif;color: #ffffff;max-width: 120px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis">
|
||||
{{ truncateText(item.name, 90) }}
|
||||
</span>
|
||||
</el-tooltip>
|
||||
</div>
|
||||
</foreignObject>
|
||||
<!-- <text x="410" :y="450 + ( 20 * index)" fill="#ffffff" font-size="14">
|
||||
{{ item.name }}
|
||||
</text> -->
|
||||
<text :x="calculateValueX(item.name, 410)" :y="450 + ( 20 * index)" fill="#FFB800" font-size="14">
|
||||
{{ item.value }}
|
||||
</text>
|
||||
</g>
|
||||
|
||||
<!-- 右侧 3PCS -->
|
||||
<g v-for="(item,index) in pcsRightData" :key="item.id">
|
||||
<text x="622" :y="450 + ( 20 * index)" fill="#ffffff" font-size="14">
|
||||
{{ item.name }}
|
||||
</text>
|
||||
<text :x="countChineseAndEnglishCharacters(item.name,622)" :y="450 + ( 20 * index)" fill="#FFB800" font-size="14">
|
||||
{{ item.value }}
|
||||
</text>
|
||||
</g>
|
||||
|
||||
</svg>
|
||||
</div>
|
||||
</div>
|
||||
<DispositionPointData
|
||||
:disposition-show="show_point_dispostion"
|
||||
:max="4"
|
||||
:page-location="pageLocation"
|
||||
@close="closePoint"
|
||||
@getData="getDynamicPointData"
|
||||
/>
|
||||
</ItemBox>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import gridImg from '@/assets/images/wxjd/grid.png'
|
||||
import ammeterImg from '@/assets/images/wxjd/ammeter.png'
|
||||
import cabinetImg from '@/assets/images/wxjd/cabinet.png'
|
||||
import chargingPileImg from '@/assets/images/home-office.png'
|
||||
import distributionCabinetImg from '@/assets/images/wxjd/guiImg.png'
|
||||
import frameImg from '@/assets/images/wxjd/frame.png'
|
||||
import cangImg from '@/assets/images/home-cang.png'
|
||||
import { DynamicConfigPoint } from '@/api/home-page/index'
|
||||
import config from './config'
|
||||
import { changeTheme } from '@/utils/index'
|
||||
import ACDCImg from '@/assets/images/wxjd/ACDC.png'
|
||||
import DCImg from '@/assets/images/wxjd/DC.png'
|
||||
import STSImg from '@/assets/images/wxjd/STS.png'
|
||||
export default {
|
||||
name: 'Index',
|
||||
props: {
|
||||
stationType: {
|
||||
type: Number,
|
||||
default: 0
|
||||
},
|
||||
stationId: {
|
||||
type: Number,
|
||||
default: 0
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
gridImg,
|
||||
ammeterImg,
|
||||
cabinetImg,
|
||||
chargingPileImg,
|
||||
distributionCabinetImg,
|
||||
cangImg,
|
||||
frameImg,
|
||||
ACDCImg,
|
||||
DCImg,
|
||||
STSImg,
|
||||
dotData: {
|
||||
lineTop: 'M 0,0 0,0',
|
||||
lineTopLeft: 'M 0,0 0,0',
|
||||
lineBottomLeft: 'M 0,0 0,0 0,0',
|
||||
lineBottomRight: 'M 0,0 0,0 0,0',
|
||||
lineBottomLeftTwo: 'M 0,0 0,0 0,0',
|
||||
lineBottomRightTwo: 'M 0,0 0,0 0,0'
|
||||
},
|
||||
|
||||
partList: [
|
||||
{ soc: 0, soh: 0, activePowerPCS: 0.0, reactivePowerPCS: 0.0 },
|
||||
{ soc: 0, soh: 0, activePowerPCS: 0.0, reactivePowerPCS: 0.0 },
|
||||
{ soc: 0, soh: 0, activePowerPCS: 0.0, reactivePowerPCS: 0.0 },
|
||||
{ soc: 0, soh: 0, activePowerPCS: 0.0, reactivePowerPCS: 0.0 }
|
||||
],
|
||||
loading: false,
|
||||
activePowerTotal: {},
|
||||
show_point_dispostion: false,
|
||||
pageLocation: '',
|
||||
permissionId: null,
|
||||
pcsLeftData: [],
|
||||
pcsCenterData: [],
|
||||
pcsRightData: [],
|
||||
stsCenterData: [],
|
||||
acdcCenterData: [],
|
||||
ammeterData: [],
|
||||
configData: {}
|
||||
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
lang() {
|
||||
return this.$store.getters.language
|
||||
}
|
||||
},
|
||||
watch: {},
|
||||
created() {
|
||||
const result = changeTheme()
|
||||
this.configData = config[result]
|
||||
console.log('配置' + JSON.stringify(this.configData))
|
||||
|
||||
setTimeout(() => {
|
||||
if (this.$store.getters.menuList.length) {
|
||||
this.permissionId = this.$store.getters.menuList.find(item => {
|
||||
return item.url === this.$route.path
|
||||
}).id
|
||||
}
|
||||
}, 300)
|
||||
},
|
||||
mounted() {},
|
||||
methods: {
|
||||
isChineseDominant(text) {
|
||||
const chineseRegex = /[\u4e00-\u9fa5]/g
|
||||
const chineseCount = (text.match(chineseRegex) || []).length
|
||||
return chineseCount / text.length > 0.5
|
||||
},
|
||||
|
||||
// 修改截断逻辑:按字符类型统一视觉宽度
|
||||
truncateText(text, baseMaxWidth = 90) {
|
||||
if (!text) return ''
|
||||
|
||||
// 1. 按文本类型设置“最大可显示字符数”(视觉宽度相近)
|
||||
const isChinese = this.isChineseDominant(text)
|
||||
const maxChars = isChinese ? 8 : 15 // 中文8字 ≈ 英文15字母(14px sans-serif下)
|
||||
|
||||
// 2. 先按字符数截断(避免过长文本循环过多)
|
||||
const truncated = text.slice(0, maxChars)
|
||||
let finalText = truncated
|
||||
|
||||
// 3. 精确测量:如果截断后加...仍超宽,继续缩减
|
||||
while (this.measureTextWidth(finalText + '...') > baseMaxWidth && finalText.length > 0) {
|
||||
finalText = finalText.slice(0, -1)
|
||||
}
|
||||
|
||||
// 4. 补充...(如果有截断)
|
||||
return finalText + (finalText.length < text.length ? '...' : '')
|
||||
},
|
||||
|
||||
// 精确测量文本渲染宽度(像素)- 保持不变
|
||||
measureTextWidth(text, font = '14px sans-serif') {
|
||||
if (!this._textMeasurementCanvas) {
|
||||
this._textMeasurementCanvas = document.createElement('canvas')
|
||||
}
|
||||
const ctx = this._textMeasurementCanvas.getContext('2d')
|
||||
ctx.font = font
|
||||
return ctx.measureText(text).width
|
||||
},
|
||||
|
||||
// 计算value的x坐标:基于统一后的截断文本宽度
|
||||
calculateValueX(name, baseX = 205) {
|
||||
const truncatedName = this.truncateText(name) // 无需传maxWidth,内部统一处理
|
||||
const nameWidth = this.measureTextWidth(truncatedName)
|
||||
const spacing = 6 // 固定间距(因截断文本视觉宽度一致,间距会统一)
|
||||
return baseX + nameWidth + spacing
|
||||
},
|
||||
countChineseAndEnglishCharacters(str, x) {
|
||||
var chineseCount = str.match(/[\u4e00-\u9fa5]/g) ? str.match(/[\u4e00-\u9fa5]/g).length : 0
|
||||
var englishCount = str.match(/[a-zA-Z]/g) ? str.match(/[a-zA-Z]/g).length : 0
|
||||
var otherCount = str.length - chineseCount - englishCount
|
||||
const obj = { otherCount: otherCount, chineseCount: chineseCount, englishCount: englishCount }
|
||||
return (obj.englishCount * 11) + (obj.chineseCount * 16) + (obj.otherCount * 8) + x
|
||||
},
|
||||
lookDeviceDetail(val) { // 查看设备详情
|
||||
this.pageLocation = val
|
||||
this.show_point_dispostion = true
|
||||
},
|
||||
closePoint() {
|
||||
this.show_point_dispostion = false
|
||||
},
|
||||
async getpcsCenter() {
|
||||
this.loading = true
|
||||
try {
|
||||
const res = await DynamicConfigPoint({
|
||||
pageLocation: 'triad-pcs-center',
|
||||
permissionId: this.permissionId,
|
||||
stationId: this.stationId })
|
||||
this.pcsCenterData = res.data
|
||||
} catch (error) {
|
||||
// console.log(error);
|
||||
} finally {
|
||||
this.loading = false
|
||||
}
|
||||
},
|
||||
async getstsCenter() {
|
||||
this.loading = true
|
||||
try {
|
||||
const res = await DynamicConfigPoint({
|
||||
pageLocation: 'triad-sts-center',
|
||||
permissionId: this.permissionId,
|
||||
stationId: this.stationId })
|
||||
this.stsCenterData = res.data
|
||||
} catch (error) {
|
||||
// console.log(error);
|
||||
} finally {
|
||||
this.loading = false
|
||||
}
|
||||
},
|
||||
async getacdcCenter() {
|
||||
this.loading = true
|
||||
try {
|
||||
const res = await DynamicConfigPoint({
|
||||
pageLocation: 'triad-acdc-center',
|
||||
permissionId: this.permissionId,
|
||||
stationId: this.stationId })
|
||||
this.acdcCenterData = res.data
|
||||
} catch (error) {
|
||||
// console.log(error);
|
||||
} finally {
|
||||
this.loading = false
|
||||
}
|
||||
},
|
||||
async getLineStatus(type) {
|
||||
this.loading = true
|
||||
try {
|
||||
const res = await DynamicConfigPoint({
|
||||
pageLocation: type,
|
||||
permissionId: this.permissionId,
|
||||
stationId: this.stationId })
|
||||
if (type === 'line-bottom-left') {
|
||||
if (res.data?.length) {
|
||||
if (res.data[0].value > 0) {
|
||||
this.dotData.lineBottomLeft = 'M 283,0, 280, 0, 0 ,0'
|
||||
} else if (res.data[0].value < 0) {
|
||||
this.dotData.lineBottomLeft = 'M 0,0 281,0 281,0'
|
||||
} else {
|
||||
this.dotData.lineBottomLeft = ''
|
||||
}
|
||||
} else {
|
||||
this.dotData.lineBottomLeft = ''
|
||||
}
|
||||
} else if (type === 'line-bottom-right') {
|
||||
if (res.data?.length) {
|
||||
if (res.data[0].value > 0) {
|
||||
this.dotData.lineBottomRight = 'M -271, 0 , -271 , 0 , 0 , 0'
|
||||
} else if (res.data[0].value < 0) {
|
||||
this.dotData.lineBottomRight = 'M 0,0 -271,0 -271,0'
|
||||
} else {
|
||||
this.dotData.lineBottomRight = ''
|
||||
}
|
||||
} else {
|
||||
this.dotData.lineBottomRight = ''
|
||||
}
|
||||
} else if (type === 'line-bottom-center') {
|
||||
if (res.data?.length) {
|
||||
if (res.data[0].value > 0) {
|
||||
this.dotData.lineCenter = 'M 0,-283,0,0,0,0'
|
||||
} else if (res.data[0].value < 0) {
|
||||
this.dotData.lineCenter = 'M 0,0,0,0,0,-283'
|
||||
} else {
|
||||
this.dotData.lineCenter = ''
|
||||
}
|
||||
} else {
|
||||
this.dotData.lineCenter = ''
|
||||
}
|
||||
} else if (type === 'line-top-left') {
|
||||
if (res.data?.length) {
|
||||
if (res.data[0].value > 0) {
|
||||
this.dotData.lineTopLeft = 'M 230,0 0,0'
|
||||
} else if (res.data[0].value < 0) {
|
||||
this.dotData.lineTopLeft = 'M 0,0 225,0'
|
||||
} else {
|
||||
this.dotData.lineTopLeft = ''
|
||||
}
|
||||
} else {
|
||||
this.dotData.lineTopLeft = ''
|
||||
}
|
||||
} else if (type === 'line-top-right') {
|
||||
if (res.data?.length) {
|
||||
if (res.data[0].value > 0) {
|
||||
this.dotData.lineTopRight = 'M -230,0 0,0'
|
||||
} else if (res.data[0].value < 0) {
|
||||
this.dotData.lineTopRight = 'M 0,0 -225,0'
|
||||
} else {
|
||||
this.dotData.lineTopRight = ''
|
||||
}
|
||||
} else {
|
||||
this.dotData.lineTopRight = ''
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
// console.log(error);
|
||||
} finally {
|
||||
this.loading = false
|
||||
}
|
||||
},
|
||||
async getpcsLeft() {
|
||||
this.loading = true
|
||||
try {
|
||||
const res = await DynamicConfigPoint({
|
||||
pageLocation: 'triad-pcs-left',
|
||||
permissionId: this.permissionId,
|
||||
stationId: this.stationId })
|
||||
this.pcsLeftData = res.data
|
||||
} catch (error) {
|
||||
// console.log(error);
|
||||
} finally {
|
||||
this.loading = false
|
||||
}
|
||||
},
|
||||
async getammeter() {
|
||||
this.loading = true
|
||||
try {
|
||||
const res = await DynamicConfigPoint({
|
||||
pageLocation: 'triad-ammeter',
|
||||
permissionId: this.permissionId,
|
||||
stationId: this.stationId })
|
||||
this.ammeterData = res.data
|
||||
} catch (error) {
|
||||
// console.log(error);
|
||||
} finally {
|
||||
this.loading = false
|
||||
}
|
||||
},
|
||||
async getpcsRight() {
|
||||
this.loading = true
|
||||
try {
|
||||
const res = await DynamicConfigPoint({
|
||||
pageLocation: 'triad-pcs-right',
|
||||
permissionId: this.permissionId,
|
||||
stationId: this.stationId })
|
||||
this.pcsRightData = res.data
|
||||
} catch (error) {
|
||||
// console.log(error);
|
||||
} finally {
|
||||
this.loading = false
|
||||
}
|
||||
},
|
||||
|
||||
getData() {
|
||||
this.getpcsRight()
|
||||
this.getpcsCenter()
|
||||
this.getstsCenter()
|
||||
this.getacdcCenter()
|
||||
this.getpcsLeft()
|
||||
this.getammeter()
|
||||
this.getLineStatus('line-bottom-left')
|
||||
this.getLineStatus('line-bottom-center')
|
||||
this.getLineStatus('line-bottom-right')
|
||||
this.getLineStatus('line-top-left')
|
||||
this.getLineStatus('line-top-right')
|
||||
this.$forceUpdate()
|
||||
},
|
||||
getDynamicPointData() {
|
||||
this.getData()
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.center-box {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
@mixin move-round($duration, $delay) {
|
||||
fill: none;
|
||||
stroke-width: 5;
|
||||
stroke-linejoin: round;
|
||||
stroke-linecap: round;
|
||||
stroke-dasharray: 3, 900;
|
||||
stroke-dashoffset: 0;
|
||||
animation: lineMove $duration $delay cubic-bezier(0, 0, 0.74, 0.74) infinite;
|
||||
}
|
||||
|
||||
@keyframes lineMove {
|
||||
0% {
|
||||
stroke-dashoffset: -850;
|
||||
}
|
||||
100% {
|
||||
stroke-dashoffset: -0;
|
||||
}
|
||||
}
|
||||
.g-rect-fill-two {
|
||||
@include move-round(3.5s, 1s);
|
||||
}
|
||||
</style>
|
||||
@ -309,7 +309,7 @@
|
||||
<!-- <text x="614" y="490" fill="#ffffff" font-size="14">3#{{ $t("dashboard.cabinet") }}</text> -->
|
||||
|
||||
<!-- STS -->
|
||||
<image
|
||||
<!-- <image
|
||||
:xlink:href="STSImg"
|
||||
x="365"
|
||||
y="130"
|
||||
@ -317,7 +317,7 @@
|
||||
height="40"
|
||||
style="cursor: pointer;"
|
||||
@click="lookDeviceDetail('triad-sts-center')"
|
||||
/>
|
||||
/> -->
|
||||
<!-- AC/DC -->
|
||||
<image
|
||||
:xlink:href="ACDCImg"
|
||||
@ -346,21 +346,21 @@
|
||||
<text x="520" :y="105 + ( 20 * index)" fill="#ffffff" font-size="14">
|
||||
{{ item.name }}
|
||||
</text>
|
||||
<text :x="countChineseAndEnglishCharacters(item.name,lang === 'zh'?510:465)" :y="105 + ( 20 * index)" fill="#FFB800" font-size="14">
|
||||
<text :x="countChineseAndEnglishCharacters(item.name,lang === 'zh_CN'?510:465)" :y="105 + ( 20 * index)" fill="#FFB800" font-size="14">
|
||||
{{ item.value }}
|
||||
</text>
|
||||
</g>
|
||||
|
||||
<!-- STS -->
|
||||
|
||||
<g v-for="(item,index) in stsCenterData" :key="item.id">
|
||||
<!-- <g v-for="(item,index) in stsCenterData" :key="item.id">
|
||||
<text x="415" :y="153 + ( 20 * index)" fill="#ffffff" font-size="14">
|
||||
{{ item.name }}
|
||||
</text>
|
||||
<text :x="countChineseAndEnglishCharacters(item.name,lang === 'zh'?415:360)" :y="153 + ( 20 * index)" fill="#FFB800" font-size="14">
|
||||
<text :x="countChineseAndEnglishCharacters(item.name,lang === 'zh_CN'?415:360)" :y="153 + ( 20 * index)" fill="#FFB800" font-size="14">
|
||||
{{ item.value }}
|
||||
</text>
|
||||
</g>
|
||||
</g> -->
|
||||
|
||||
<!-- ACDC -->
|
||||
|
||||
@ -368,7 +368,7 @@
|
||||
<text x="415" :y="213 + ( 20 * index)" fill="#ffffff" font-size="14">
|
||||
{{ item.name }}
|
||||
</text>
|
||||
<text :x="countChineseAndEnglishCharacters(item.name,lang === 'zh'?415:360)" :y="213 + ( 20 * index)" fill="#FFB800" font-size="14">
|
||||
<text :x="countChineseAndEnglishCharacters(item.name,lang === 'zh_CN'?415:360)" :y="213 + ( 20 * index)" fill="#FFB800" font-size="14">
|
||||
{{ item.value }}
|
||||
</text>
|
||||
</g>
|
||||
@ -467,7 +467,7 @@ import config from './config'
|
||||
import { changeTheme } from '@/utils/index'
|
||||
import ACDCImg from '@/assets/images/wxjd/ACDC.png'
|
||||
import DCImg from '@/assets/images/wxjd/DC.png'
|
||||
import STSImg from '@/assets/images/wxjd/STS.png'
|
||||
// import STSImg from '@/assets/images/wxjd/STS.png'
|
||||
export default {
|
||||
name: 'Index',
|
||||
props: {
|
||||
@ -491,7 +491,7 @@ export default {
|
||||
frameImg,
|
||||
ACDCImg,
|
||||
DCImg,
|
||||
STSImg,
|
||||
// STSImg,
|
||||
dotData: {
|
||||
lineTop: 'M 0,0 0,0',
|
||||
lineTopLeft: 'M 0,0 0,0',
|
||||
@ -515,7 +515,7 @@ export default {
|
||||
pcsLeftData: [],
|
||||
pcsCenterData: [],
|
||||
pcsRightData: [],
|
||||
stsCenterData: [],
|
||||
// stsCenterData: [],
|
||||
acdcCenterData: [],
|
||||
ammeterData: [],
|
||||
configData: {}
|
||||
@ -615,20 +615,20 @@ export default {
|
||||
this.loading = false
|
||||
}
|
||||
},
|
||||
async getstsCenter() {
|
||||
this.loading = true
|
||||
try {
|
||||
const res = await DynamicConfigPoint({
|
||||
pageLocation: 'triad-sts-center',
|
||||
permissionId: this.permissionId,
|
||||
stationId: this.stationId })
|
||||
this.stsCenterData = res.data
|
||||
} catch (error) {
|
||||
// console.log(error);
|
||||
} finally {
|
||||
this.loading = false
|
||||
}
|
||||
},
|
||||
// async getstsCenter() {
|
||||
// this.loading = true
|
||||
// try {
|
||||
// const res = await DynamicConfigPoint({
|
||||
// pageLocation: 'triad-sts-center',
|
||||
// permissionId: this.permissionId,
|
||||
// stationId: this.stationId })
|
||||
// this.stsCenterData = res.data
|
||||
// } catch (error) {
|
||||
// // console.log(error);
|
||||
// } finally {
|
||||
// this.loading = false
|
||||
// }
|
||||
// },
|
||||
async getacdcCenter() {
|
||||
this.loading = true
|
||||
try {
|
||||
@ -763,7 +763,7 @@ export default {
|
||||
getData() {
|
||||
this.getpcsRight()
|
||||
this.getpcsCenter()
|
||||
this.getstsCenter()
|
||||
// this.getstsCenter()
|
||||
this.getacdcCenter()
|
||||
this.getpcsLeft()
|
||||
this.getammeter()
|
||||
|
||||
1396
src/views/dashboardtest/components/top-center/pv8fourth.vue
Normal file
1396
src/views/dashboardtest/components/top-center/pv8fourth.vue
Normal file
File diff suppressed because it is too large
Load Diff
@ -159,7 +159,10 @@ import { getDashboard } from '@/api/station/maintain'
|
||||
import { queryElecMeterConfig } from '@/api/home-page/index'
|
||||
|
||||
import pv1AndStorage_261 from './components/top-center/pv1storage261.vue'
|
||||
import pv1AndStorage_sts_261 from './components/top-center/pv1storage-sts-261.vue'
|
||||
import pv2AndStorage_261 from './components/top-center/pv2storage261.vue'
|
||||
import pv2AndStorage_sts_261 from './components/top-center/pv2storage-sts-261.vue'
|
||||
import pv8FourthTopCenter from './components/top-center/pv8fourth.vue'
|
||||
|
||||
export default {
|
||||
name: 'Index',
|
||||
@ -205,7 +208,10 @@ export default {
|
||||
secondDispositionTopCenter,
|
||||
tenthTopCenter,
|
||||
pv1AndStorage_261,
|
||||
pv2AndStorage_261
|
||||
pv2AndStorage_261,
|
||||
pv1AndStorage_sts_261,
|
||||
pv2AndStorage_sts_261,
|
||||
pv8FourthTopCenter
|
||||
},
|
||||
props: {},
|
||||
data() {
|
||||
|
||||
@ -49,7 +49,7 @@ export default {
|
||||
const dayCharge = []
|
||||
data.forEach((el) => {
|
||||
x_data.push(el.time)
|
||||
dayCharge.push(el.dayCharge)
|
||||
dayCharge.push(el.release)
|
||||
})
|
||||
this.options = {
|
||||
tooltip: {
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
<el-tooltip class="item" effect="dark" :content="info.stationNumber" placement="top">
|
||||
<div class="value">{{ info.stationNumber }}</div>
|
||||
</el-tooltip>
|
||||
<div class="unit">{{ lang === 'zh'? '个':'' }}</div>
|
||||
<div class="unit">{{ lang === 'zh_CN'? '个':'' }}</div>
|
||||
</div>
|
||||
<div class="value-box" style="width:100%">
|
||||
<el-tooltip class="item" effect="dark" :content="$t('screen.dailyPowerGeneration')" placement="top">
|
||||
|
||||
@ -27,14 +27,13 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
tableLoading: false,
|
||||
tableTitles: [this.$t('screen.stationName'), this.$t('screen.cap')],
|
||||
tableTitles: [this.$t('screen.stationName'), this.$t('screen.cumulativePowerGeneration') + '(kWh)'],
|
||||
tableData: [],
|
||||
widths: ['auto', 'auto', 'auto', 'auto'],
|
||||
contentHeight: 200,
|
||||
tableColumns: [
|
||||
'stationName',
|
||||
'stationCapacity',
|
||||
'efficiencyValue'
|
||||
'release'
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
@ -6,8 +6,8 @@
|
||||
<!-- 头部 s -->
|
||||
<div class="title_wrap">
|
||||
<div class="title">
|
||||
<span :class="lang === 'zh'? 'left-title' : 'left-title-en'" />
|
||||
<span :class="lang === 'zh'? 'title-text' : 'en-eitle-text'">{{ $t('screen.pvScreenTitle') }}</span>
|
||||
<span :class="lang === 'zh_CN'? 'left-title' : 'left-title-en'" />
|
||||
<span :class="lang === 'zh_CN'? 'title-text' : 'en-eitle-text'">{{ $t('screen.pvScreenTitle') }}</span>
|
||||
<div class="right-title">
|
||||
<span>{{ time }}</span>
|
||||
<!-- <span class="weather">{{ weatherInfo ? weatherInfo.skyCon : '' }} {{ weatherInfo? weatherInfo.minTemperature :'' }}℃ ~ {{ weatherInfo ? weatherInfo.maxTemperature : '' }}℃</span> -->
|
||||
|
||||
@ -19,7 +19,7 @@
|
||||
<el-tooltip class="item" effect="dark" :content="info.stationNumber" placement="top">
|
||||
<div class="value">{{ info.stationNumber }}</div>
|
||||
</el-tooltip>
|
||||
<div class="unit">{{ lang === 'zh'? '个':'' }}</div>
|
||||
<div class="unit">{{ lang === 'zh_CN'? '个':'' }}</div>
|
||||
</div>
|
||||
<div class="value-box">
|
||||
<el-tooltip class="item" effect="dark" :content="$t('screen.dailyCharge')" placement="top">
|
||||
|
||||
@ -6,8 +6,8 @@
|
||||
<!-- 头部 s -->
|
||||
<div class="title_wrap">
|
||||
<div class="title">
|
||||
<span :class="lang === 'zh'? 'left-title' : 'left-title-en'" />
|
||||
<span :class="lang === 'zh'? 'title-text' : 'en-eitle-text'">{{ $t('screen.ztscreenTitle') }}</span>
|
||||
<span :class="lang === 'zh_CN'? 'left-title' : 'left-title-en'" />
|
||||
<span :class="lang === 'zh_CN'? 'title-text' : 'en-eitle-text'">{{ $t('screen.ztscreenTitle') }}</span>
|
||||
<div class="right-title">
|
||||
<span>{{ time }}</span>
|
||||
<!-- <span class="weather">{{ weatherInfo ? weatherInfo.skyCon : '' }} {{ weatherInfo? weatherInfo.minTemperature :'' }}℃ ~ {{ weatherInfo ? weatherInfo.maxTemperature : '' }}℃</span> -->
|
||||
|
||||
@ -298,7 +298,7 @@ export default {
|
||||
// 设置上传的请求头部
|
||||
headers: {
|
||||
authorization: getToken(),
|
||||
lang: sessionStorage.getItem('language') === 'en' ? 'en_US' : 'zh_CN'
|
||||
lang: sessionStorage.getItem('language') ? sessionStorage.getItem('language') : 'zh_CN'
|
||||
},
|
||||
// 上传的地址
|
||||
url:
|
||||
|
||||
@ -130,7 +130,7 @@ export default {
|
||||
uploadList: [],
|
||||
headers: {
|
||||
authorization: getToken(),
|
||||
lang: sessionStorage.getItem('language') === 'en' ? 'en_US' : 'zh_CN'
|
||||
lang: sessionStorage.getItem('language') ? sessionStorage.getItem('language') : 'zh_CN'
|
||||
},
|
||||
fileList: [],
|
||||
uploadData: {
|
||||
|
||||
@ -761,6 +761,7 @@ export default {
|
||||
return el
|
||||
}
|
||||
})
|
||||
console.log(JSON.stringify(stationName))
|
||||
const indexPoint = stationName.name.indexOf('.')
|
||||
if (indexPoint !== -1) {
|
||||
stationName.name = stationName.name + '.xls'
|
||||
|
||||
126
src/views/remote-control/remote-connection/index.vue
Normal file
126
src/views/remote-control/remote-connection/index.vue
Normal file
@ -0,0 +1,126 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- 触发弹窗的按钮 -->
|
||||
<el-button v-permission="['sys:remote:connect']" type="primary" icon="el-icon-search" :loading="serachLoading" @click="openDialog">
|
||||
远程连接
|
||||
</el-button>
|
||||
<el-button v-permission="['sys:remote:connectcustomer']" type="primary" icon="el-icon-search" :loading="serachLoading" @click="openDialog">
|
||||
远程连接
|
||||
</el-button>
|
||||
<!-- 全屏弹窗 -->
|
||||
<el-dialog
|
||||
:visible.sync="dialogVisible"
|
||||
width="100vw"
|
||||
height="100vh"
|
||||
top="0"
|
||||
:modal="false"
|
||||
:close-on-click-modal="false"
|
||||
:show-close="false"
|
||||
append-to-body
|
||||
>
|
||||
<!-- 弹窗头部:自定义关闭按钮 -->
|
||||
<div slot="title" style="text-align: right; padding-right: 20px;">
|
||||
<el-button icon="el-icon-close" type="text" size="small" @click="closeDialog" />
|
||||
</div>
|
||||
|
||||
<!-- iframe 嵌入 -->
|
||||
<iframe
|
||||
ref="remoteIframe"
|
||||
:src="iframeUrl"
|
||||
style="width: 100%; height: calc(100vh - 60px); border: none;"
|
||||
frameborder="0"
|
||||
@load="iframeLoaded"
|
||||
/>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
GetRemoteDetails
|
||||
} from '@/api/system/remote-manage'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
serachLoading: false,
|
||||
dialogVisible: false,
|
||||
// iframe 基础地址 + 拼接参数
|
||||
iframeUrl: '',
|
||||
stationRemoteDetails: {}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
language() {
|
||||
return this.$store.getters.language
|
||||
},
|
||||
stationId() {
|
||||
return this.$store.getters.currentStation.id || undefined
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 打开弹窗并生成带参 iframe 地址
|
||||
async openDialog() {
|
||||
try {
|
||||
// 1. 准备要传入的参数(示例:IP、端口、用户信息等)
|
||||
await this.getDetails()
|
||||
const ip = this.stationRemoteDetails.ip
|
||||
const emsType = this.stationRemoteDetails.type
|
||||
const port = this.stationRemoteDetails.port
|
||||
const params = {
|
||||
userName: this.stationRemoteDetails.userName,
|
||||
intranetIp: this.stationRemoteDetails.intranetIp,
|
||||
password: this.stationRemoteDetails.password,
|
||||
lang: this.language
|
||||
}
|
||||
// 2. 拼接成带参 URL
|
||||
this.iframeUrl = `http://${ip}:${port}/${emsType}?${new URLSearchParams(params).toString()}`
|
||||
// 3. 打开弹窗
|
||||
this.dialogVisible = true
|
||||
} catch (error) {
|
||||
this.dialogVisible = false
|
||||
}
|
||||
},
|
||||
async getDetails() {
|
||||
const res = await GetRemoteDetails({ stationId: this.stationId })
|
||||
this.stationRemoteDetails = Object.assign({}, res.data)
|
||||
},
|
||||
// 关闭弹窗时,触发 iframe 内的退出登录
|
||||
closeDialog() {
|
||||
try {
|
||||
// 获取 iframe 内部的 window 对象
|
||||
const iframeWin = this.$refs.remoteIframe.contentWindow
|
||||
// 调用 iframe 页面内的退出登录方法(需要 iframe 页面暴露该方法)
|
||||
if (iframeWin && typeof iframeWin.handleLogout === 'function') {
|
||||
iframeWin.handleLogout()
|
||||
}
|
||||
} catch (err) {
|
||||
console.warn('触发iframe退出登录失败,可能存在跨域问题:', err)
|
||||
}
|
||||
// 关闭弹窗
|
||||
this.dialogVisible = false
|
||||
// 重置 iframe 地址(避免缓存)
|
||||
this.iframeUrl = ''
|
||||
},
|
||||
|
||||
// iframe 加载完成后做一些初始化操作
|
||||
iframeLoaded() {
|
||||
console.log('iframe 页面加载完成')
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
/* 确保弹窗全屏显示,无多余边距 */
|
||||
::v-deep .el-dialog {
|
||||
margin: 0 !important;
|
||||
width: 100% !important;
|
||||
height: 100% !important;
|
||||
max-width: 100% !important;
|
||||
max-height: 100% !important;
|
||||
}
|
||||
::v-deep .el-dialog__body {
|
||||
padding: 0 !important;
|
||||
height: calc(100% - 60px);
|
||||
}
|
||||
</style>
|
||||
@ -47,9 +47,7 @@
|
||||
</el-form>
|
||||
|
||||
<el-row class="top-search">
|
||||
<el-col :span="24" class="report-title">{{
|
||||
totalData.stationName
|
||||
}}</el-col>
|
||||
<el-col :span="24" class="report-title">{{ totalData.stationName }}</el-col>
|
||||
</el-row>
|
||||
|
||||
<div class="top">
|
||||
@ -502,6 +500,7 @@ export default {
|
||||
try {
|
||||
const res = await GetTotal(params)
|
||||
this.totalData = res.data
|
||||
console.log('收益报表 ', this.totalData)
|
||||
this.chargeArr = []
|
||||
this.dischargeArr = []
|
||||
if (res.data.finish === 0) {
|
||||
|
||||
@ -313,7 +313,7 @@ export default {
|
||||
uploadUrl: process.env.VUE_APP_BASE_API + '/business/elecPriceCurve/importExcel',
|
||||
headers: {
|
||||
authorization: getToken(),
|
||||
lang: sessionStorage.getItem('language') === 'en' ? 'en_US' : 'zh_CN',
|
||||
lang: sessionStorage.getItem('language') ? sessionStorage.getItem('language') : 'zh_CN',
|
||||
stationId: undefined
|
||||
},
|
||||
cellList: [],
|
||||
|
||||
@ -373,7 +373,7 @@ export default {
|
||||
uploadUrl: process.env.VUE_APP_BASE_API + '/business/elecPriceCurve/importExcel',
|
||||
headers: {
|
||||
authorization: getToken(),
|
||||
lang: sessionStorage.getItem('language') === 'en' ? 'en_US' : 'zh_CN'
|
||||
lang: sessionStorage.getItem('language') ? sessionStorage.getItem('language') : 'zh_CN'
|
||||
},
|
||||
uploadData: { stationId: null },
|
||||
fileList: [],
|
||||
|
||||
@ -313,7 +313,7 @@ export default {
|
||||
uploadUrl: process.env.VUE_APP_BASE_API + '/business/elecPriceCurve/importExcel',
|
||||
headers: {
|
||||
authorization: getToken(),
|
||||
lang: sessionStorage.getItem('language') === 'en' ? 'en_US' : 'zh_CN',
|
||||
lang: sessionStorage.getItem('language') ? sessionStorage.getItem('language') : 'zh_CN',
|
||||
stationId: undefined
|
||||
},
|
||||
cellList: [],
|
||||
|
||||
@ -4,11 +4,11 @@
|
||||
<el-tab-pane :label="this.$t('priceConfig.energyStorage')" name="cn">
|
||||
<cn ref="cn" />
|
||||
</el-tab-pane>
|
||||
<!-- <el-tab-pane label="光伏" name="gf">
|
||||
<el-tab-pane label="PV" name="gf">
|
||||
<gf ref="gf" />
|
||||
</el-tab-pane>
|
||||
|
||||
<el-tab-pane label="充电桩" name="cdz">
|
||||
<!-- <el-tab-pane label="充电桩" name="cdz">
|
||||
<cdz ref="cdz" />
|
||||
</el-tab-pane> -->
|
||||
|
||||
@ -18,12 +18,12 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import gf from './components/photovoltaic'
|
||||
import gf from './components/photovoltaic'
|
||||
import cn from './components/energyStorage'
|
||||
// import cdz from './components/chargingPile'
|
||||
export default {
|
||||
name: 'Index',
|
||||
components: { cn },
|
||||
components: { cn, gf },
|
||||
props: {},
|
||||
data() {
|
||||
return {
|
||||
|
||||
@ -171,7 +171,7 @@ export default {
|
||||
uploadUrl: process.env.VUE_APP_BASE_API + '/business/elecPriceCurve/importExcel',
|
||||
headers: {
|
||||
authorization: getToken(),
|
||||
lang: sessionStorage.getItem('language') === 'en' ? 'en_US' : 'zh_CN',
|
||||
lang: sessionStorage.getItem('language') ? sessionStorage.getItem('language') : 'zh_CN',
|
||||
stationId: undefined
|
||||
},
|
||||
paramsData: {
|
||||
|
||||
@ -357,7 +357,7 @@ export default {
|
||||
uploadUrl: process.env.VUE_APP_BASE_API + '/business/planning/uploadData',
|
||||
headers: {
|
||||
authorization: getToken(),
|
||||
lang: sessionStorage.getItem('language') === 'en' ? 'en_US' : 'zh_CN',
|
||||
lang: sessionStorage.getItem('language') ? sessionStorage.getItem('language') : 'zh_CN',
|
||||
stationId: undefined
|
||||
},
|
||||
paramsData: {
|
||||
|
||||
@ -234,7 +234,7 @@ export default {
|
||||
uploadUrl: process.env.VUE_APP_BASE_API + '/business/tabSort/importTabSort',
|
||||
headers: {
|
||||
authorization: getToken(),
|
||||
lang: sessionStorage.getItem('language') === 'en' ? 'en_US' : 'zh_CN'
|
||||
lang: sessionStorage.getItem('language') ? sessionStorage.getItem('language') : 'zh_CN'
|
||||
},
|
||||
paramsData: {
|
||||
stationId: undefined
|
||||
|
||||
@ -20,14 +20,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
timeLidu: 1,
|
||||
times: [
|
||||
{ label: '1分钟', value: 1 },
|
||||
{ label: '5分钟', value: 5 },
|
||||
{ label: '10分钟', value: 10 },
|
||||
{ label: '15分钟', value: 15 },
|
||||
{ label: '20分钟', value: 20 },
|
||||
{ label: '30分钟', value: 30 }
|
||||
],
|
||||
times: this.$t('pcs.times'),
|
||||
options: {
|
||||
title: {
|
||||
text: this.$t('pcs.noData'),
|
||||
|
||||
@ -5,8 +5,9 @@
|
||||
<div class="left">
|
||||
<div v-loading="loading" class="left-first">
|
||||
<div v-for="item in ktstatus2" :key="item.label" class="box-title">
|
||||
<span v-if="language === 'en'" class="title">{{ item.enlable }}:</span>
|
||||
<span v-else class="title">{{ item.label }}:</span>
|
||||
<!-- <span v-if="language === 'en'" class="title">{{ item.enlable }}:</span>
|
||||
<span v-else class="title">{{ item.label }}:</span> -->
|
||||
<span class="title">{{ item[language] }}:</span>
|
||||
<span class="value">{{ item.value }}</span><span class="unit">{{ item.unit }}</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -23,8 +24,9 @@
|
||||
:key="item.label"
|
||||
:class="item.value ? 'error-item-wrap' : 'item-wrap'"
|
||||
>
|
||||
<div v-if="language === 'en'" class="label">{{ item.enlable }}</div>
|
||||
<div v-else class="label">{{ item.label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="label">{{ item.enlable }}</div>
|
||||
<div v-else class="label">{{ item.label }}</div> -->
|
||||
<div class="label">{{ item[language] }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -35,8 +37,9 @@
|
||||
:key="item.label"
|
||||
:class="item.value ? 'error-item-wrap' : 'item-wrap'"
|
||||
>
|
||||
<div v-if="language === 'en'" class="label">{{ item.enlable }}</div>
|
||||
<div v-else class="label">{{ item.label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="label">{{ item.enlable }}</div>
|
||||
<div v-else class="label">{{ item.label }}</div> -->
|
||||
<div class="label">{{ item[language] }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -47,8 +50,9 @@
|
||||
:key="item.label"
|
||||
:class="item.value ? 'error-item-wrap' : 'item-wrap'"
|
||||
>
|
||||
<div v-if="language === 'en'" class="label">{{ item.enlable }}</div>
|
||||
<div v-else class="label">{{ item.label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="label">{{ item.enlable }}</div>
|
||||
<div v-else class="label">{{ item.label }}</div> -->
|
||||
<div class="label">{{ item[language] }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,7 +1,14 @@
|
||||
|
||||
export const ktstatus = [
|
||||
{
|
||||
zh_CN: '空调开关机',
|
||||
en_US: 'Air Conditioner On/Off',
|
||||
es_ES: 'Encendido y apagado del aire acondicionado',
|
||||
fr_FR: 'Marche/arrêt du climatiseur',
|
||||
de_DE: 'Klimaanlage Ein/Aus',
|
||||
pl_PL: 'Włącz / Wyłącz klimatyzację',
|
||||
ar_EG: 'تشغيل/إيقاف مكيف الهواء',
|
||||
label: '空调开关机',
|
||||
enlable: 'Air Conditioner On/Off',
|
||||
field: 'airconditionSwitchYX',
|
||||
value: '关机'
|
||||
}
|
||||
@ -10,26 +17,56 @@ export const ktstatus = [
|
||||
export const ktstatus2 = [
|
||||
{
|
||||
label: '空调制冷设定',
|
||||
enlable: 'Air conditioning cooling setting',
|
||||
enlable: 'Cooling Setpoint',
|
||||
zh_CN: '空调制冷设定',
|
||||
en_US: 'Cooling Setpoint',
|
||||
es_ES: 'Configuración de refrigeración del aire acondicionado',
|
||||
fr_FR: 'Consigne de refroidissement du climatiseur',
|
||||
de_DE: 'Kühl-Sollwert',
|
||||
pl_PL: 'Zadana temperatura chłodzenia',
|
||||
ar_EG: 'نقطة ضبط التبريد',
|
||||
field: 'airconditionSetCold',
|
||||
value: '0',
|
||||
unit: '℃'
|
||||
},
|
||||
{
|
||||
label: '空调制热设定',
|
||||
enlable: 'Heating Setpoint',
|
||||
zh_CN: '空调制热设定',
|
||||
en_US: 'Heating Setpoint',
|
||||
es_ES: 'Configuración de calefacción del aire acondicionado',
|
||||
fr_FR: 'Consigne de chauffage du climatiseur',
|
||||
de_DE: 'Heiz-Sollwert',
|
||||
pl_PL: 'Zadana temperatura grzania',
|
||||
ar_EG: 'نقطة ضبط التدفئة',
|
||||
field: 'airconditionSetHot',
|
||||
enlable: 'Air conditioning heating setting',
|
||||
value: '0',
|
||||
unit: '℃'
|
||||
}, {
|
||||
},
|
||||
{
|
||||
label: '空调湿度',
|
||||
enlable: 'Air conditioning humidity',
|
||||
enlable: 'Humidity',
|
||||
zh_CN: '空调湿度',
|
||||
en_US: 'Humidity',
|
||||
es_ES: 'Humedad del aire acondicionado',
|
||||
fr_FR: 'Humidité du climatiseur',
|
||||
de_DE: 'Luftfeuchtigkeit',
|
||||
pl_PL: 'Wilgotność',
|
||||
ar_EG: 'الرطوبة',
|
||||
field: 'airconditionInnerHumidity',
|
||||
value: '0',
|
||||
unit: '%'
|
||||
}, {
|
||||
},
|
||||
{
|
||||
label: '空调温度',
|
||||
enlable: 'Air conditioning temperature',
|
||||
enlable: 'Temperature',
|
||||
zh_CN: '空调温度',
|
||||
en_US: 'Temperature',
|
||||
es_ES: 'Temperatura del aire acondicionado',
|
||||
fr_FR: 'Température du climatiseur',
|
||||
de_DE: 'Temperatur',
|
||||
pl_PL: 'Temperatura',
|
||||
ar_EG: 'درجة الحرارة',
|
||||
field: 'airconditionInnerTemperature',
|
||||
value: '0',
|
||||
unit: '℃'
|
||||
@ -39,210 +76,437 @@ export const ktstatus2 = [
|
||||
export const ktLeftData = [
|
||||
{
|
||||
label: '高温告警',
|
||||
enlable: 'High temperature alarm',
|
||||
enlable: 'High Temperature Alarm',
|
||||
zh_CN: '高温告警',
|
||||
en_US: 'High Temperature Alarm',
|
||||
es_ES: 'Alerta de temperatura alta',
|
||||
fr_FR: 'Alarme de température élevée',
|
||||
de_DE: 'Hochtemperaturalarm',
|
||||
pl_PL: 'Alarm: zbyt wysoka temperatura',
|
||||
ar_EG: 'إنذار درجة حرارة مرتفعة',
|
||||
field: 'ACHighTemperAlarm',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '低温告警',
|
||||
enlable: 'Low temperature alarm',
|
||||
enlable: 'Low Temperature Alarm',
|
||||
zh_CN: '低温告警',
|
||||
en_US: 'Low Temperature Alarm',
|
||||
es_ES: 'Alerta de temperatura baja',
|
||||
fr_FR: 'Alarme de basse température',
|
||||
de_DE: 'Niedrigtemperaturalarm',
|
||||
pl_PL: 'Alarm: zbyt niska temperatura',
|
||||
ar_EG: 'إنذار درجة حرارة منخفضة',
|
||||
field: 'ACLowTemperAlarm',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '高湿告警',
|
||||
enlable: 'High humidity alarm',
|
||||
enlable: 'High Humidity Alarm',
|
||||
zh_CN: '高湿告警',
|
||||
en_US: 'High Humidity Alarm',
|
||||
es_ES: 'Alerta de humedad alta',
|
||||
fr_FR: "Alarme d'humidité élevée",
|
||||
de_DE: 'Hohe-Feuchtigkeit-Alarm',
|
||||
pl_PL: 'Alarm: zbyt wysoka wilgotność',
|
||||
ar_EG: 'إنذار رطوبة مرتفعة',
|
||||
field: 'ACHighHumidityAlarm',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '低湿告警',
|
||||
enlable: 'Low humidity alarm',
|
||||
enlable: 'Low Humidity Alarm',
|
||||
zh_CN: '低湿告警',
|
||||
en_US: 'Low Humidity Alarm',
|
||||
es_ES: 'Alerta de humedad baja',
|
||||
fr_FR: "Alarme d'humidité basse",
|
||||
de_DE: 'Niedrige-Feuchtigkeit-Alarm',
|
||||
pl_PL: 'Alarm: zbyt niska wilgotność',
|
||||
ar_EG: 'إنذار رطوبة منخفضة',
|
||||
field: 'ACLowHumidityAlarm',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '盘管防冻',
|
||||
enlable: 'Coil anti-freeze',
|
||||
enlable: 'Coil Anti-Freeze Protection',
|
||||
zh_CN: '盘管防冻',
|
||||
en_US: 'Coil Anti-Freeze Protection',
|
||||
es_ES: 'Protección contra congelación del serpentín',
|
||||
fr_FR: 'Protection antifreeze du serpentin',
|
||||
de_DE: 'Verdampfer Frostschutz',
|
||||
pl_PL: 'Zabezpieczenie wężownicy przed zamarzaniem',
|
||||
ar_EG: 'حماية الملف من التجمد',
|
||||
field: 'ACCoilAntifreeze',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '排气高温',
|
||||
enlable: 'Exhaust high temperature',
|
||||
enlable: 'High Exhaust Air Temperature',
|
||||
zh_CN: '排气高温',
|
||||
en_US: 'High Exhaust Air Temperature',
|
||||
es_ES: 'Temperatura alta de escape',
|
||||
fr_FR: "Température d'air d'échappement élevée",
|
||||
de_DE: 'Hohe Ablufttemperatur',
|
||||
pl_PL: 'Zbyt wysoka temperatura powietrza wylotowego',
|
||||
ar_EG: 'درجة حرارة هواء العادم مرتفعة',
|
||||
field: 'ACHighExhaustTemper',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '盘管温感失效',
|
||||
enlable: 'Coil temperature sensing failure',
|
||||
enlable: 'Coil Temperature Sensor Fault',
|
||||
zh_CN: '盘管温感失效',
|
||||
en_US: 'Coil Temperature Sensor Fault',
|
||||
es_ES: 'Fallo del sensor de temperatura del serpentín',
|
||||
fr_FR: 'Défaut du capteur de température du serpentin',
|
||||
de_DE: 'Verdampfer-Temperatursensorfehler',
|
||||
pl_PL: 'Błąd czujnika temperatury wężownicy',
|
||||
ar_EG: 'عطل مستشعر درجة حرارة الملف',
|
||||
field: 'ACCoilTemperSensingFailure',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '室外温感失效',
|
||||
enlable: 'Outdoor temperature sensing failure',
|
||||
enlable: 'Outdoor Temperature Sensor Fault',
|
||||
zh_CN: '室外温感失效',
|
||||
en_US: 'Outdoor Temperature Sensor Fault',
|
||||
es_ES: 'Fallo del sensor de temperatura exterior',
|
||||
fr_FR: 'Défaut de sonde de température extérieure',
|
||||
de_DE: 'Außentemperatursensorfehler',
|
||||
pl_PL: 'Błąd czujnika temperatury zewnętrznej',
|
||||
ar_EG: 'عطل مستشعر درجة الحرارة الخارجية',
|
||||
field: 'ACOutdoorTemperSensingFailure',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '冷凝温感失效',
|
||||
enlable: 'Condensing temperature sensing fails',
|
||||
enlable: 'Condensation Temperature Sensor Fault',
|
||||
zh_CN: '冷凝温感失效',
|
||||
en_US: 'Condensation Temperature Sensor Fault',
|
||||
es_ES: 'Fallo del sensor de temperatura de condensación',
|
||||
fr_FR: 'Défaut de sonde de température de condensation',
|
||||
de_DE: 'Kondensationstemperatursensorfehler',
|
||||
pl_PL: 'Błąd czujnika temperatury skraplania',
|
||||
ar_EG: 'عطل مستشعر درجة حرارة التكثيف',
|
||||
field: 'ACCondensationTemperSensorFailure',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '内温感失效',
|
||||
enlable: 'Internal temperature sensing failure',
|
||||
enlable: 'Internal Temperature Sensor Fault',
|
||||
zh_CN: '内温感失效',
|
||||
en_US: 'Internal Temperature Sensor Fault',
|
||||
es_ES: 'Fallo del sensor de temperatura interior',
|
||||
fr_FR: 'Défaut de sonde de température interne',
|
||||
de_DE: 'Innentemperatursensorfehler',
|
||||
pl_PL: 'Błąd wewnętrznego czujnika temperatury',
|
||||
ar_EG: 'عطل مستشعر درجة الحرارة الداخلية',
|
||||
field: 'ACInternalTemperSensingFailure',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '排气温感失效',
|
||||
enlable: 'Exhaust air temperature sense failure',
|
||||
enlable: 'Exhaust Temperature Sensor Fault',
|
||||
zh_CN: '排气温感失效',
|
||||
en_US: 'Exhaust Temperature Sensor Fault',
|
||||
es_ES: 'Fallo del sensor de temperatura de escape',
|
||||
fr_FR: "Défaut de sonde de température d'échappement",
|
||||
de_DE: 'Ablufttemperatursensorfehler',
|
||||
pl_PL: 'Błąd czujnika temperatury powietrza wylotowego',
|
||||
ar_EG: 'عطل مستشعر درجة حرارة العادم',
|
||||
field: 'ACExhaustTemperSensorFailure',
|
||||
value: ''
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
export const ktLeftData2 = [
|
||||
{
|
||||
label: '湿感失效',
|
||||
enlable: 'Wet sensing failure',
|
||||
enlable: 'Humidity Sensor Fault',
|
||||
zh_CN: '湿感失效',
|
||||
en_US: 'Humidity Sensor Fault',
|
||||
es_ES: 'Fallo del sensor de humedad',
|
||||
fr_FR: "Défaut de sonde d'humidité",
|
||||
de_DE: 'Feuchtigkeitssensorfehler',
|
||||
pl_PL: 'Błąd czujnika wilgotności',
|
||||
ar_EG: 'عطل مستشعر الرطوبة',
|
||||
field: 'ACMoistureSensingFailure',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '内风机故障',
|
||||
enlable: 'Internal fan failure',
|
||||
enlable: 'Indoor Fan Fault',
|
||||
zh_CN: '内风机故障',
|
||||
en_US: 'Indoor Fan Fault',
|
||||
es_ES: 'Avería del ventilador interior',
|
||||
fr_FR: 'Défaut du ventilateur intérieur',
|
||||
de_DE: 'Innenlüfterfehler',
|
||||
pl_PL: 'Awaria wentylatora wewnętrznego',
|
||||
ar_EG: 'عطل مروحة داخلية',
|
||||
field: 'ACInternalFanFailure',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '外风机故障',
|
||||
enlable: 'External fan failure',
|
||||
enlable: 'Outdoor Fan Fault',
|
||||
zh_CN: '外风机故障',
|
||||
en_US: 'Outdoor Fan Fault',
|
||||
es_ES: 'Avería del ventilador exterior',
|
||||
fr_FR: 'Défaut du ventilateur extérieur',
|
||||
de_DE: 'Außenlüfterfehler',
|
||||
pl_PL: 'Awaria wentylatora zewnętrznego',
|
||||
ar_EG: 'عطل مروحة خارجية',
|
||||
field: 'ACExternalFanFailure',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '压缩机故障',
|
||||
enlable: 'Compressor failure',
|
||||
enlable: 'Compressor Fault',
|
||||
zh_CN: '压缩机故障',
|
||||
en_US: 'Compressor Fault',
|
||||
es_ES: 'Avería del compresor',
|
||||
fr_FR: 'Défaut du compresseur',
|
||||
de_DE: 'Kompressorfehler',
|
||||
pl_PL: 'Awaria sprężarki',
|
||||
ar_EG: 'عطل الضاغط',
|
||||
field: 'ACCompressorFailure',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '电加热故障',
|
||||
enlable: 'Electric heating fault',
|
||||
enlable: 'Electric Heater Fault',
|
||||
zh_CN: '电加热故障',
|
||||
en_US: 'Electric Heater Fault',
|
||||
es_ES: 'Avería del calentador eléctrico',
|
||||
fr_FR: 'Défaut du chauffage électrique',
|
||||
de_DE: 'Elektroheizungsfehler',
|
||||
pl_PL: 'Awaria grzałki elektrycznej',
|
||||
ar_EG: 'عطل السخان الكهربائي',
|
||||
field: 'ACElectricHeatFailure',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '应急风机故障',
|
||||
enlable: 'Emergency fan failure',
|
||||
enlable: 'Emergency Fan Fault',
|
||||
zh_CN: '应急风机故障',
|
||||
en_US: 'Emergency Fan Fault',
|
||||
es_ES: 'Avería del ventilador de emergencia',
|
||||
fr_FR: "Défaut du ventilateur d'urgence",
|
||||
de_DE: 'Notlüfterfehler',
|
||||
pl_PL: 'Awaria wentylatora awaryjnego',
|
||||
ar_EG: 'عطل المروحة الطارئة',
|
||||
field: 'ACEmergencyFanFailure',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '高压告警',
|
||||
enlable: 'High voltage alarm',
|
||||
enlable: 'High Voltage Alarm',
|
||||
zh_CN: '高压告警',
|
||||
en_US: 'High Voltage Alarm',
|
||||
es_ES: 'Alerta de alta presión',
|
||||
fr_FR: 'Alarme de haute tension',
|
||||
de_DE: 'Hochspannungsalarm',
|
||||
pl_PL: 'Alarm: zbyt wysokie napięcie',
|
||||
ar_EG: 'إنذار جهد عال',
|
||||
field: 'ACHighVoltageAlarm',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '低压告警',
|
||||
enlable: 'Low voltage alarm',
|
||||
enlable: 'Low Voltage Alarm',
|
||||
zh_CN: '低压告警',
|
||||
en_US: 'Low Voltage Alarm',
|
||||
es_ES: 'Alerta de baja presión',
|
||||
fr_FR: 'Alarme de basse tension',
|
||||
de_DE: 'Niederspannungsalarm',
|
||||
pl_PL: 'Alarm: zbyt niskie napięcie',
|
||||
ar_EG: 'إنذار جهد منخفض',
|
||||
field: 'ACLowVoltageAlarm',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '水浸告警',
|
||||
enlable: 'Flooding alarm',
|
||||
enlable: 'Flood Alarm',
|
||||
zh_CN: '水浸告警',
|
||||
en_US: 'Flood Alarm',
|
||||
es_ES: 'Alerta de inundación',
|
||||
fr_FR: "Alarme d'immersion",
|
||||
de_DE: 'Überflutungsalarm',
|
||||
pl_PL: 'Alarm zalania',
|
||||
ar_EG: 'إنذار فيضان',
|
||||
field: 'ACwaterloggAlarm',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '烟感告警',
|
||||
enlable: 'Smoke alarm',
|
||||
enlable: 'Smoke Alarm',
|
||||
zh_CN: '烟感告警',
|
||||
en_US: 'Smoke Alarm',
|
||||
es_ES: 'Alerta de detector de humo',
|
||||
fr_FR: 'Alarme de fumée',
|
||||
de_DE: 'Rauchalarm',
|
||||
pl_PL: 'Alarm dymu',
|
||||
ar_EG: 'إنذار دخان',
|
||||
field: 'ACSmokeAlarm',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '门禁告警',
|
||||
enlable: 'Access control alarm',
|
||||
enlable: 'Access Control Alarm',
|
||||
zh_CN: '门禁告警',
|
||||
en_US: 'Access Control Alarm',
|
||||
es_ES: 'Alerta de acceso de puerta',
|
||||
fr_FR: "Alarme de contrôle d'accès",
|
||||
de_DE: 'Zugangskontrollalarm',
|
||||
pl_PL: 'Alarm kontroli dostępu',
|
||||
ar_EG: 'إنذار التحكم في الوصول',
|
||||
field: 'ACGatingAlarm',
|
||||
value: ''
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
export const ktLeftData3 = [
|
||||
{
|
||||
label: '高压锁定',
|
||||
enlable: 'High voltage locking',
|
||||
enlable: 'High Voltage Lockout',
|
||||
zh_CN: '高压锁定',
|
||||
en_US: 'High Voltage Lockout',
|
||||
es_ES: 'Bloqueo por alta presión',
|
||||
fr_FR: 'Verrouillage haute tension',
|
||||
de_DE: 'Hochspannungsabschaltung',
|
||||
pl_PL: 'Blokada: zbyt wysokie napięcie',
|
||||
ar_EG: 'إغفال الجهد العالي',
|
||||
field: 'ACHighVoltageLock',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '低压锁定',
|
||||
enlable: 'Low pressure locking',
|
||||
enlable: 'Low Voltage Lockout',
|
||||
zh_CN: '低压锁定',
|
||||
en_US: 'Low Voltage Lockout',
|
||||
es_ES: 'Bloqueo por baja presión',
|
||||
fr_FR: 'Verrouillage basse tension',
|
||||
de_DE: 'Niederspannungsabschaltung',
|
||||
pl_PL: 'Blokada: zbyt niskie napięcie',
|
||||
ar_EG: 'إغفال الجهد المنخفض',
|
||||
field: 'ACLowVoltageLock',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '排气锁定',
|
||||
enlable: 'Exhaust lock',
|
||||
enlable: 'Exhaust Lockout',
|
||||
zh_CN: '排气锁定',
|
||||
en_US: 'Exhaust Lockout',
|
||||
es_ES: 'Bloqueo por escape',
|
||||
fr_FR: "Verrouillage d'échappement",
|
||||
de_DE: 'Abluftabschaltung',
|
||||
pl_PL: 'Blokada układu wyciągowego powietrza',
|
||||
ar_EG: 'إغفال العادم',
|
||||
field: 'ACExhaustLock',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '交流过压',
|
||||
enlable: 'Ac overvoltage',
|
||||
enlable: 'AC Overvoltage',
|
||||
zh_CN: '交流过压',
|
||||
en_US: 'AC Overvoltage',
|
||||
es_ES: 'Sobretensión de CA',
|
||||
fr_FR: 'Sur-tension CA',
|
||||
de_DE: 'AC-Über Spannung',
|
||||
pl_PL: 'Zbyt wysokie napięcie AC',
|
||||
ar_EG: 'جهد زائد للتيار المتردد',
|
||||
field: 'ACACOverVoltage',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '交流欠压',
|
||||
enlable: 'Ac undervoltage',
|
||||
enlable: 'AC Undervoltage',
|
||||
zh_CN: '交流欠压',
|
||||
en_US: 'AC Undervoltage',
|
||||
es_ES: 'Subtensión de CA',
|
||||
fr_FR: 'Sous-tension CA',
|
||||
de_DE: 'AC-Unter Spannung',
|
||||
pl_PL: 'Zbyt niskie napięcie AC',
|
||||
ar_EG: 'انخفاض جهد التيار المتردد',
|
||||
field: 'ACACUnderVoltage',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '交流掉电',
|
||||
enlable: 'Ac power failure',
|
||||
enlable: 'AC Power Loss',
|
||||
zh_CN: '交流掉电',
|
||||
en_US: 'AC Power Loss',
|
||||
es_ES: 'Corte de suministro de CA',
|
||||
fr_FR: "Pertes d'alimentation AC",
|
||||
de_DE: 'AC-Stromausfall',
|
||||
pl_PL: 'Zanik zasilania AC',
|
||||
ar_EG: 'فقدان طاقة التيار المتردد',
|
||||
field: 'ACACPowerFailure',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '缺相',
|
||||
enlable: 'Phase loss',
|
||||
enlable: 'Phase Loss',
|
||||
zh_CN: '缺相',
|
||||
en_US: 'Phase Loss',
|
||||
es_ES: 'Falta de fase',
|
||||
fr_FR: 'Pertes de phase',
|
||||
de_DE: 'Phasenausfall',
|
||||
pl_PL: 'Zanik fazy',
|
||||
ar_EG: 'فقدان الطور',
|
||||
field: 'ACPhaseLoss',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '频率异常',
|
||||
enlable: 'Frequency anomaly',
|
||||
enlable: 'Frequency Abnormality',
|
||||
zh_CN: '频率异常',
|
||||
en_US: 'Frequency Abnormality',
|
||||
es_ES: 'Anomalía de frecuencia',
|
||||
fr_FR: 'Anomalie de fréquence',
|
||||
de_DE: 'Frequenzfehler',
|
||||
pl_PL: 'Nieprawidłowa częstotliwość',
|
||||
ar_EG: 'شذوذ التردد',
|
||||
field: 'ACAbnormalFrequency',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '逆相',
|
||||
enlable: 'anti-phase',
|
||||
enlable: 'Phase Reversal',
|
||||
zh_CN: '逆相',
|
||||
en_US: 'Phase Reversal',
|
||||
es_ES: 'Inversión de fase',
|
||||
fr_FR: 'Inversion de phase',
|
||||
de_DE: 'Phasendrehung',
|
||||
pl_PL: 'Błędna kolejność faz',
|
||||
ar_EG: 'انعكاس الطور',
|
||||
field: 'ACreversePhase',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '直流过压',
|
||||
enlable: 'Dc overvoltage',
|
||||
enlable: 'DC Overvoltage',
|
||||
zh_CN: '直流过压',
|
||||
en_US: 'DC Overvoltage',
|
||||
es_ES: 'Sobretensión de CC',
|
||||
fr_FR: 'Sur-tension CC',
|
||||
de_DE: 'DC-Über Spannung',
|
||||
pl_PL: 'Zbyt wysokie napięcie DC',
|
||||
ar_EG: 'جهد زائد DC',
|
||||
field: 'ACDCOverVoltage',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '直流欠压',
|
||||
enlable: 'Dc undervoltage',
|
||||
enlable: 'DC Undervoltage',
|
||||
zh_CN: '直流欠压',
|
||||
en_US: 'DC Undervoltage',
|
||||
es_ES: 'Subvoltaje de corriente continua',
|
||||
fr_FR: 'Sous-tension DC',
|
||||
de_DE: 'Gleichstromunterspannung',
|
||||
pl_PL: 'Napięcie stałe za niskie',
|
||||
ar_EG: 'انخفاض جهد DC',
|
||||
field: 'ACDCUnderVoltage',
|
||||
value: ''
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
|
||||
@ -19,14 +19,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
timeLidu: 1,
|
||||
times: [
|
||||
{ label: '1分钟', value: 1 },
|
||||
{ label: '5分钟', value: 5 },
|
||||
{ label: '10分钟', value: 10 },
|
||||
{ label: '15分钟', value: 15 },
|
||||
{ label: '20分钟', value: 20 },
|
||||
{ label: '30分钟', value: 30 }
|
||||
],
|
||||
times: this.$t('pcs.times'),
|
||||
options: {
|
||||
title: {
|
||||
text: this.$t('pcs.noData'),
|
||||
|
||||
@ -13,21 +13,24 @@
|
||||
class="right-content-box"
|
||||
>
|
||||
<div class="title">
|
||||
<span v-if="language === 'en'" class="title-left">Battery Group{{ index + 1 }}</span>
|
||||
<span v-else class="title-left">电池组{{ index + 1 }}</span>
|
||||
<!-- <span v-if="language === 'en'" class="title-left">Battery Group{{ index + 1 }}</span>
|
||||
<span v-else class="title-left">{{ $t('pcs.batteryGroup') }}{{ index + 1 }}</span> -->
|
||||
<span class="title-left">{{ $t('pcs.batteryGroup') }}{{ index + 1 }}</span>
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="content-box margin-bottom">
|
||||
<span class="d" />
|
||||
<span v-if="language === 'en'" class="en-label">voltage:</span>
|
||||
<span v-else class="label">电压:</span>
|
||||
<!-- <span v-if="language === 'en'" class="en-label">voltage:</span>
|
||||
<span v-else class="label">{{ $t('pcs.vol') }}:</span> -->
|
||||
<span class="label">{{ $t('pcs.vol') }}:</span>
|
||||
<span class="value">{{ item.volValue === 0 ? '##' : item.volValue }}</span>
|
||||
<span class="unit">V</span>
|
||||
</div>
|
||||
<div class="content-box">
|
||||
<span class="d" />
|
||||
<span v-if="language === 'en'" class="en-label">temperature:</span>
|
||||
<span v-else class="label">温度:</span>
|
||||
<!-- <span v-if="language === 'en'" class="en-label">temperature:</span>
|
||||
<span v-else class="label">{{ $t('pcs.tem') }}:</span> -->
|
||||
<span class="label">{{ $t('pcs.tem') }}:</span>
|
||||
<span class="value">{{ item.AValue === 0 ? '##' : item.AValue }}</span>
|
||||
<span class="unit">℃</span>
|
||||
</div>
|
||||
@ -38,7 +41,7 @@
|
||||
</ItemBox>
|
||||
<TableChartDialog
|
||||
:is-show.sync="visible"
|
||||
title="电池簇历史数据"
|
||||
:title="$t('pcs.batteryClusterHistoryData')"
|
||||
:col="colValue"
|
||||
:src-id="srcValue"
|
||||
/>
|
||||
@ -92,10 +95,10 @@ export default {
|
||||
if (res.data.length > 15) {
|
||||
res.data.forEach((item, index) => {
|
||||
this.centerTopData.push({
|
||||
volLabel: '电压',
|
||||
volLabel: this.$t('pcs.vol'),
|
||||
volField: `cSingleV${index + 1}`,
|
||||
volValue: '',
|
||||
ALabel: '温度',
|
||||
ALabel: this.$t('pcs.tem'),
|
||||
AField: `cSingleT${index + 1}`,
|
||||
AValue: ''
|
||||
})
|
||||
@ -103,10 +106,10 @@ export default {
|
||||
} else {
|
||||
for (let i = 0; i < 15; i++) {
|
||||
this.centerTopData.push({
|
||||
volLabel: '电压',
|
||||
volLabel: this.$t('pcs.vol'),
|
||||
volField: `cSingleV${i + 1}`,
|
||||
volValue: '',
|
||||
ALabel: '温度',
|
||||
ALabel: this.$t('pcs.tem'),
|
||||
AField: `cSingleT${i + 1}`,
|
||||
AValue: ''
|
||||
})
|
||||
|
||||
@ -10,13 +10,15 @@
|
||||
>
|
||||
<div class="box-title">
|
||||
<div class="title">
|
||||
<template v-if="language === 'en'">
|
||||
<!-- <template v-if="language === 'en'">
|
||||
{{ item.englabel }}
|
||||
</template>
|
||||
<template v-else>
|
||||
{{ item.label }}
|
||||
</template> -->
|
||||
<template>
|
||||
{{ item[language] }}
|
||||
</template>
|
||||
|
||||
<span v-if="item.isMwh">
|
||||
({{ item.value | kwhUnitFormat }})
|
||||
</span>
|
||||
@ -61,14 +63,14 @@
|
||||
:class="className(item.value)"
|
||||
>
|
||||
<div class="label">
|
||||
<template v-if="language === 'en'">
|
||||
<el-tooltip :content="item.englabel" placement="top" effect="dark">
|
||||
<span>{{ item.englabel }}</span>
|
||||
<template v-if="language !== 'zh_CN'">
|
||||
<el-tooltip :content="item[language]" placement="top" effect="dark">
|
||||
<span>{{ item[language] }}</span>
|
||||
</el-tooltip>
|
||||
|
||||
</template>
|
||||
<template v-else>
|
||||
{{ item.label }}
|
||||
{{ item[language] }}
|
||||
</template>
|
||||
|
||||
</div>
|
||||
@ -96,24 +98,18 @@
|
||||
<div class="top">
|
||||
<span class="top-title">{{ $t('pcs.maxCellVol') }}</span>
|
||||
<span class="top-value">
|
||||
<span class="value">{{
|
||||
rightAllData.bottomData.maxVol.value
|
||||
}}</span>
|
||||
<span class="value">{{ rightAllData.bottomData.maxVol.value }}</span>
|
||||
<span class="unit">V</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<span class="dczh">
|
||||
<span class="dczh-title">{{ $t('pcs.batteryGroupNum') }}</span>
|
||||
<span class="dczh-value">{{
|
||||
rightAllData.bottomData.maxVol.BMUValue
|
||||
}}</span>
|
||||
<span class="dczh-value">{{ rightAllData.bottomData.maxVol.BMUValue }}</span>
|
||||
</span>
|
||||
<span class="dxwz">
|
||||
<span class="dxwz-title">{{ $t('pcs.cellPostion') }}</span>
|
||||
<span class="dxwz-value">{{
|
||||
rightAllData.bottomData.maxVol.boxValue
|
||||
}}</span>
|
||||
<span class="dxwz-value">{{ rightAllData.bottomData.maxVol.boxValue }}</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -122,24 +118,18 @@
|
||||
<div class="top">
|
||||
<span class="top-title">{{ $t('pcs.minCellVol') }}</span>
|
||||
<span class="top-value">
|
||||
<span class="value">{{
|
||||
rightAllData.bottomData.minVol.value
|
||||
}}</span>
|
||||
<span class="value">{{ rightAllData.bottomData.minVol.value }}</span>
|
||||
<span class="unit">V</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<span class="dczh">
|
||||
<span class="dczh-title">{{ $t('pcs.batteryGroupNum') }}</span>
|
||||
<span class="dczh-value">{{
|
||||
rightAllData.bottomData.minVol.BMUValue
|
||||
}}</span>
|
||||
<span class="dczh-value">{{ rightAllData.bottomData.minVol.BMUValue }}</span>
|
||||
</span>
|
||||
<span class="dxwz">
|
||||
<span class="dxwz-title">{{ $t('pcs.cellPostion') }}</span>
|
||||
<span class="dxwz-value">{{
|
||||
rightAllData.bottomData.minVol.boxValue
|
||||
}}</span>
|
||||
<span class="dxwz-value">{{ rightAllData.bottomData.minVol.boxValue }}</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -149,10 +139,7 @@
|
||||
<span class="left">
|
||||
<span class="jt" />
|
||||
<span class="hight-v">{{ $t('pcs.maxTemDiff') }}</span>
|
||||
<span class="v-value">{{
|
||||
(rightAllData.bottomData.maxTem.value -
|
||||
rightAllData.bottomData.minTmp.value).toFixed(3)
|
||||
}}</span>
|
||||
<span class="v-value">{{ (rightAllData.bottomData.maxTem.value - rightAllData.bottomData.minTmp.value).toFixed(3) }}</span>
|
||||
<span class="unit">℃</span>
|
||||
</span>
|
||||
</div>
|
||||
@ -161,24 +148,18 @@
|
||||
<div class="top">
|
||||
<span class="top-title">{{ $t('pcs.maxCellTem') }}</span>
|
||||
<span class="top-value">
|
||||
<span class="value">{{
|
||||
rightAllData.bottomData.maxTem.value
|
||||
}}</span>
|
||||
<span class="value">{{ rightAllData.bottomData.maxTem.value }}</span>
|
||||
<span class="unit">℃</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<span class="dczh">
|
||||
<span class="dczh-title">{{ $t('pcs.batteryGroupNum') }}</span>
|
||||
<span class="dczh-value">{{
|
||||
rightAllData.bottomData.maxTem.BMUValue
|
||||
}}</span>
|
||||
<span class="dczh-value">{{ rightAllData.bottomData.maxTem.BMUValue }}</span>
|
||||
</span>
|
||||
<span class="dxwz">
|
||||
<span class="dxwz-title">{{ $t('pcs.cellPostion') }}</span>
|
||||
<span class="dxwz-value">{{
|
||||
rightAllData.bottomData.maxTem.boxValue
|
||||
}}</span>
|
||||
<span class="dxwz-value">{{ rightAllData.bottomData.maxTem.boxValue }}</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -187,24 +168,18 @@
|
||||
<div class="top">
|
||||
<span class="top-title">{{ $t('pcs.minCellTem') }}</span>
|
||||
<span class="top-value">
|
||||
<span class="value">{{
|
||||
rightAllData.bottomData.minTmp.value
|
||||
}}</span>
|
||||
<span class="value">{{ rightAllData.bottomData.minTmp.value }}</span>
|
||||
<span class="unit">℃</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<span class="dczh">
|
||||
<span class="dczh-title">{{ $t('pcs.batteryGroupNum') }}</span>
|
||||
<span class="dczh-value">{{
|
||||
rightAllData.bottomData.minTmp.BMUValue
|
||||
}}</span>
|
||||
<span class="dczh-value">{{ rightAllData.bottomData.minTmp.BMUValue }}</span>
|
||||
</span>
|
||||
<span class="dxwz">
|
||||
<span class="dxwz-title">{{ $t('pcs.cellPostion') }}</span>
|
||||
<span class="dxwz-value">{{
|
||||
rightAllData.bottomData.minTmp.boxValue
|
||||
}}</span>
|
||||
<span class="dxwz-value">{{ rightAllData.bottomData.minTmp.boxValue }}</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -329,7 +304,6 @@ export default {
|
||||
this.rightAllData.bottomData.minTmp.value = res.data[this.rightAllData.bottomData.minTmp.field]?.value
|
||||
this.rightAllData.bottomData.minTmp.BMUValue = res.data[this.rightAllData.bottomData.minTmp.BMUField]?.value
|
||||
this.rightAllData.bottomData.minTmp.boxValue = res.data[this.rightAllData.bottomData.minTmp.boxField]?.value
|
||||
console.log(6666, this.rightAllData)
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
} finally {
|
||||
|
||||
@ -1,56 +1,541 @@
|
||||
export const centerBottomData = [
|
||||
{
|
||||
label: '紧急停机',
|
||||
enlable: 'Emergency Stop',
|
||||
zh_CN: '紧急停机',
|
||||
en_US: 'Emergency Stop',
|
||||
es_ES: 'Parada de emergencia',
|
||||
fr_FR: "Arrêt d'urgence",
|
||||
de_DE: 'Not-Aus',
|
||||
pl_PL: 'STOP – wyłącznik awaryjny',
|
||||
ar_EG: 'إيقاف طارئ',
|
||||
field: 'eStop',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '直流输入过压',
|
||||
enlable: 'DC Input Overvoltage',
|
||||
zh_CN: '直流输入过压',
|
||||
en_US: 'DC Input Overvoltage',
|
||||
es_ES: 'Sobretensión de entrada de CC',
|
||||
fr_FR: "Surtension d'entrée CC",
|
||||
de_DE: 'DC-Eingangsüberspannung',
|
||||
pl_PL: 'DC – zbyt wysokie napięcie wejściowe',
|
||||
ar_EG: 'جهد زائد لمدخل DC',
|
||||
field: 'dcInputOverVol',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '直流输入欠压',
|
||||
enlable: 'DC Input Undervoltage',
|
||||
zh_CN: '直流输入欠压',
|
||||
en_US: 'DC Input Undervoltage',
|
||||
es_ES: 'Subtensión de entrada de CC',
|
||||
fr_FR: "Sous-tension d'entrée CC",
|
||||
de_DE: 'DC-Eingangsunterspannung',
|
||||
pl_PL: 'DC – zbyt niskie napięcie wejściowe',
|
||||
ar_EG: 'انخفاض جهد مدخل DC',
|
||||
field: 'dcInputDebtVol',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '直流母线过压',
|
||||
enlable: 'DC Bus Overvoltage',
|
||||
zh_CN: '直流母线过压',
|
||||
en_US: 'DC Bus Overvoltage',
|
||||
es_ES: 'Sobretensión de barra de CC',
|
||||
fr_FR: 'Surtension du jeu de barres CC',
|
||||
de_DE: 'DC-Zwischenkreisüberspannung',
|
||||
pl_PL: 'DC – zbyt wysokie napięcie szyny',
|
||||
ar_EG: 'جهد زائد ناقل DC',
|
||||
field: 'dcBusOverVol',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '直流母线欠压',
|
||||
enlable: 'DC Bus Undervoltage',
|
||||
zh_CN: '直流母线欠压',
|
||||
en_US: 'DC Bus Undervoltage',
|
||||
es_ES: 'Subtensión de barra de CC',
|
||||
fr_FR: 'Sous-tension du jeu de barres CC',
|
||||
de_DE: 'DC-Zwischenkreisunterspannung',
|
||||
pl_PL: 'DC – zbyt niskie napięcie szyny',
|
||||
ar_EG: 'انخفاض جهد ناقل DC',
|
||||
field: 'dcBusDebtVol',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '直流母线电压不平衡',
|
||||
enlable: 'DC Bus Voltage Imbalance',
|
||||
zh_CN: '直流母线电压不平衡',
|
||||
en_US: 'DC Bus Voltage Imbalance',
|
||||
es_ES: 'Desequilibrio de voltaje de barra de CC',
|
||||
fr_FR: 'Déséquilibre de tension du jeu de barres CC',
|
||||
de_DE: 'DC-Zwischenkreis-Spannungsungleichgewicht',
|
||||
pl_PL: 'DC – niezrównoważenie napięcia szyny',
|
||||
ar_EG: 'عدم توازن جهد ناقل DC',
|
||||
field: 'dcBusVolImbalance',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '交流母线过压',
|
||||
enlable: 'AC Bus Overvoltage',
|
||||
zh_CN: '交流母线过压',
|
||||
en_US: 'AC Bus Overvoltage',
|
||||
es_ES: 'Sobretensión de barra de CA',
|
||||
fr_FR: 'Surtension du jeu de barres CA',
|
||||
de_DE: 'AC-Netzüberspannung',
|
||||
pl_PL: 'AC – zbyt wysokie napięcie szyny',
|
||||
ar_EG: 'جهد زائد ناقل AC',
|
||||
field: 'acBusOverVol',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '交流母线欠压',
|
||||
enlable: 'AC Bus Undervoltage',
|
||||
zh_CN: '交流母线欠压',
|
||||
en_US: 'AC Bus Undervoltage',
|
||||
es_ES: 'Subtensión de barra de CA',
|
||||
fr_FR: 'Sous-tension du jeu de barres CA',
|
||||
de_DE: 'AC-Netzunterspannung',
|
||||
pl_PL: 'AC – zbyt niskie napięcie szyny',
|
||||
ar_EG: 'انخفاض جهد ناقل AC',
|
||||
field: 'acBusDebtVol',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '交流母线过频',
|
||||
enlable: 'AC Bus Overfrequency',
|
||||
zh_CN: '交流母线过频',
|
||||
en_US: 'AC Bus Overfrequency',
|
||||
es_ES: 'Sobrefrecuencia de barra de CA',
|
||||
fr_FR: 'Surfréquence du jeu de barres CA',
|
||||
de_DE: 'AC-Überfrequenz',
|
||||
pl_PL: 'AC – zbyt wysoka częstotliwość',
|
||||
ar_EG: 'تردد زائد ناقل AC',
|
||||
field: 'acBusOverFreq',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '交流母线欠频',
|
||||
enlable: 'AC Bus Underfrequency',
|
||||
zh_CN: '交流母线欠频',
|
||||
en_US: 'AC Bus Underfrequency',
|
||||
es_ES: 'Subfrecuencia de barra de CA',
|
||||
fr_FR: 'Basse fréquence du jeu de barres CA',
|
||||
de_DE: 'AC-Underfrequenz',
|
||||
pl_PL: 'AC – zbyt niska częstotliwość',
|
||||
ar_EG: 'انخفاض تردد ناقل AC',
|
||||
field: 'acBusDebtFreq',
|
||||
value: ''
|
||||
}
|
||||
]
|
||||
|
||||
export const rightAllData = {
|
||||
top: [
|
||||
{
|
||||
label: '累计充电量',
|
||||
englabel: 'Cumulative Charged Energy',
|
||||
zh_CN: '累计充电量',
|
||||
en_US: 'Cumulative Charged Energy',
|
||||
es_ES: 'Energía de carga acumulada',
|
||||
fr_FR: 'Énergie chargée cumulée',
|
||||
de_DE: 'Kumulative Ladeenergie',
|
||||
pl_PL: 'Skumulowana energia ładowania',
|
||||
ar_EG: 'الطاقة المشحونة التراكمية',
|
||||
isMwh: true,
|
||||
unit: 'kWh',
|
||||
field: 'cTotalChargePower',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '累计放电量',
|
||||
englabel: 'Cumulative Discharged Energy',
|
||||
zh_CN: '累计放电量',
|
||||
en_US: 'Cumulative Discharged Energy',
|
||||
es_ES: 'Energía de descarga acumulada',
|
||||
fr_FR: 'Énergie déchargée cumulée',
|
||||
de_DE: 'Kumulative Entladeenergie',
|
||||
pl_PL: 'Skumulowana energia rozładowania',
|
||||
ar_EG: 'الطاقة المفرغة التراكمية',
|
||||
isMwh: true,
|
||||
unit: 'kWh',
|
||||
field: 'cTotalDisChargePower',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'SOC',
|
||||
englabel: 'SOC',
|
||||
zh_CN: 'SOC',
|
||||
en_US: 'SOC',
|
||||
es_ES: 'SOC',
|
||||
fr_FR: 'SOC',
|
||||
de_DE: 'SOC',
|
||||
pl_PL: 'SOC',
|
||||
ar_EG: 'SOC',
|
||||
unit: '%',
|
||||
field: 'clusterSOC',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'SOH',
|
||||
englabel: 'SOH',
|
||||
zh_CN: 'SOH',
|
||||
en_US: 'SOH',
|
||||
es_ES: 'SOH',
|
||||
fr_FR: 'SOH',
|
||||
de_DE: 'SOH',
|
||||
pl_PL: 'SOH',
|
||||
ar_EG: 'SOH',
|
||||
unit: '%',
|
||||
field: 'clusterSOH',
|
||||
value: ''
|
||||
}
|
||||
],
|
||||
centerAvgData: {
|
||||
AvgV: {
|
||||
label: '平均电压',
|
||||
field: 'csingleAgeV',
|
||||
value: '',
|
||||
zh_CN: '平均电压',
|
||||
en_US: 'Average Voltage',
|
||||
es_ES: 'Voltaje medio',
|
||||
fr_FR: 'Tension moyenne',
|
||||
de_DE: 'Durchschnittsspannung',
|
||||
pl_PL: 'Średnie napięcie',
|
||||
ar_EG: 'متوسط الجهد'
|
||||
},
|
||||
AvgT: {
|
||||
label: '平均温度',
|
||||
field: 'cageT',
|
||||
value: '',
|
||||
zh_CN: '平均温度',
|
||||
en_US: 'Average Temperature',
|
||||
es_ES: 'Temperatura media',
|
||||
fr_FR: 'Température moyenne',
|
||||
de_DE: 'Durchschnittstemperatur',
|
||||
pl_PL: 'Średnia temperatura',
|
||||
ar_EG: 'متوسط درجة الحرارة'
|
||||
}
|
||||
},
|
||||
bottomData: {
|
||||
maxVol: {
|
||||
label: '最高电压',
|
||||
field: 'csingleMaxVolData',
|
||||
value: '',
|
||||
BMULabel: '电池组号',
|
||||
BMUField: 'csingleMaxVolBMUNum',
|
||||
BMUValue: '',
|
||||
boxLabel: '电芯位置',
|
||||
boxField: 'csingleMaxVolBoxNum',
|
||||
boxValue: '',
|
||||
zh_CN: '最高电压',
|
||||
en_US: 'Maximum Voltage',
|
||||
es_ES: 'Voltaje máximo',
|
||||
fr_FR: 'Tension maximale',
|
||||
BMUfr_FR: 'No. de bloc-batterie',
|
||||
boxfr_FR: 'Position de la cellule',
|
||||
BMUes_ES: 'Número de grupo de baterías',
|
||||
boxes_ES: 'Posición de la célula',
|
||||
de_DE: 'Maximalspannung',
|
||||
BMUde_DE: 'Batterieblock-Nr.',
|
||||
boxde_DE: 'Zellposition',
|
||||
pl_PL: 'Maksymalne napięcie',
|
||||
BMUpl_PL: 'Numer bloku baterii',
|
||||
boxpl_PL: 'Pozycja ogniwa',
|
||||
ar_EG: 'أقصى جهد'
|
||||
},
|
||||
minVol: {
|
||||
label: '最低电压',
|
||||
field: 'csingleMinVolData',
|
||||
value: '',
|
||||
BMULabel: '电池组号',
|
||||
BMUField: 'csingleMinVolBMUNum',
|
||||
BMUValue: '',
|
||||
boxLabel: '电芯位置',
|
||||
boxField: 'csingleMinVolBoxNum',
|
||||
boxValue: '',
|
||||
zh_CN: '最低电压',
|
||||
en_US: 'Minimum Voltage',
|
||||
es_ES: 'Tensión mínimo',
|
||||
fr_FR: 'Tension minimale',
|
||||
BMUfr_FR: 'No. de bloc-batterie',
|
||||
boxfr_FR: 'Position de la cellule',
|
||||
BMUes_ES: 'Número de grupo de baterías',
|
||||
boxes_ES: 'Posición de la célula',
|
||||
de_DE: 'Minimalspannung',
|
||||
BMUde_DE: 'Batterieblock-Nr.',
|
||||
boxde_DE: 'Zellposition',
|
||||
pl_PL: 'Minimalne napięcie',
|
||||
BMUpl_PL: 'Numer bloku baterii',
|
||||
boxpl_PL: 'Pozycja ogniwa',
|
||||
ar_EG: 'أدنى جهد'
|
||||
},
|
||||
maxTem: {
|
||||
label: '最高温度',
|
||||
field: 'csingleMaxTemData',
|
||||
value: '',
|
||||
BMULabel: '电池组号',
|
||||
BMUField: 'csingleMaxTemBMUNum',
|
||||
BMUValue: '',
|
||||
boxLabel: '电芯位置',
|
||||
boxField: 'csingleMaxTemBoxNum',
|
||||
boxValue: '',
|
||||
zh_CN: '最高温度',
|
||||
en_US: 'Maximum Temperature',
|
||||
es_ES: 'Temperatura máxima',
|
||||
fr_FR: 'Température maximale',
|
||||
BMUfr_FR: 'No. de bloc-batterie',
|
||||
boxfr_FR: 'Position de la cellule',
|
||||
BMUes_ES: 'Número de grupo de baterías',
|
||||
boxes_ES: 'Posición de la célula',
|
||||
de_DE: 'Maximaltemperatur',
|
||||
BMUde_DE: 'Batterieblock-Nr.',
|
||||
boxde_DE: 'Zellposition',
|
||||
pl_PL: 'Maksymalna temperatura',
|
||||
BMUpl_PL: 'Numer bloku baterii',
|
||||
boxpl_PL: 'Pozycja ogniwa',
|
||||
ar_EG: 'أقصى جهد'
|
||||
},
|
||||
minTmp: {
|
||||
label: '最低温度',
|
||||
field: 'csingleMinTemData',
|
||||
value: '',
|
||||
BMULabel: '电池组号',
|
||||
BMUField: 'csingleMinTemBMUNum',
|
||||
BMUValue: '',
|
||||
boxLabel: '电芯位置',
|
||||
boxField: 'csingleMinTemBoxNum',
|
||||
boxValue: '',
|
||||
zh_CN: '最低温度',
|
||||
en_US: 'Minimum Temperature',
|
||||
es_ES: 'Temperatura mínima',
|
||||
fr_FR: 'Température minimale',
|
||||
BMUfr_FR: 'No. de bloc-batterie',
|
||||
boxfr_FR: 'Position de la cellule',
|
||||
BMUes_ES: 'Número de grupo de baterías',
|
||||
boxes_ES: 'Posición de la célula',
|
||||
de_DE: 'Minimaltemperatur',
|
||||
BMUde_DE: 'Batterieblock-Nr.',
|
||||
boxde_DE: 'Zellposition',
|
||||
pl_PL: 'Minimalna temperatura',
|
||||
BMUpl_PL: 'Numer bloku baterii',
|
||||
boxpl_PL: 'Pozycja ogniwa',
|
||||
ar_EG: 'أدنى جهد'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export const pcsRightData = [
|
||||
{
|
||||
label: '充电温度高',
|
||||
englabel: 'High Charge Temperature',
|
||||
zh_CN: '充电温度高',
|
||||
en_US: 'High Charge Temperature',
|
||||
es_ES: 'Temperatura alta durante la carga',
|
||||
fr_FR: 'Température de charge élevée',
|
||||
de_DE: 'Hohe Ladtemperatur',
|
||||
pl_PL: 'Zbyt wysoka temperatura ładowania',
|
||||
ar_EG: 'درجة حرارة شحن مرتفعة',
|
||||
field: 'clusterAlarmCodeLBit0',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '充电温度低',
|
||||
englabel: 'Low Charge Temperature',
|
||||
zh_CN: '充电温度低',
|
||||
en_US: 'Low Charge Temperature',
|
||||
es_ES: 'Temperatura baja durante la carga',
|
||||
fr_FR: 'Température de charge basse',
|
||||
de_DE: 'Niedrige Ladtemperatur',
|
||||
pl_PL: 'Zbyt niska temperatura ładowania',
|
||||
ar_EG: 'درجة حرارة شحن منخفضة',
|
||||
field: 'clusterAlarmCodeLBit1',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '放电温度高',
|
||||
englabel: 'High Discharge Temperature',
|
||||
zh_CN: '放电温度高',
|
||||
en_US: 'High Discharge Temperature',
|
||||
es_ES: 'Temperatura alta durante la descarga',
|
||||
fr_FR: 'Température de décharge élevée',
|
||||
de_DE: 'Hohe Entladetemperatur',
|
||||
pl_PL: 'Zbyt wysoka temperatura rozładowania',
|
||||
ar_EG: 'درجة حرارة تفريغ مرتفعة',
|
||||
field: 'clusterAlarmCodeLBit2',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '放电温度低',
|
||||
englabel: 'Low Discharge Temperature',
|
||||
zh_CN: '放电温度低',
|
||||
en_US: 'Low Discharge Temperature',
|
||||
es_ES: 'Temperatura baja durante la descarga',
|
||||
fr_FR: 'Température de décharge basse',
|
||||
de_DE: 'Niedrige Entladetemperatur',
|
||||
pl_PL: 'Zbyt niska temperatura rozładowania',
|
||||
ar_EG: 'درجة حرارة تفريغ منخفضة',
|
||||
field: 'clusterAlarmCodeLBit3',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '充电温差大',
|
||||
englabel: 'High Charge Temperature Difference',
|
||||
zh_CN: '充电温差大',
|
||||
en_US: 'High Charge Temperature Difference',
|
||||
es_ES: 'Gran diferencia de temperatura durante la carga',
|
||||
fr_FR: 'Écart de température de charge élevé',
|
||||
de_DE: 'Hohe Ladtemperaturdifferenz',
|
||||
pl_PL: 'Zbyt duża różnica temperatur podczas ładowania',
|
||||
ar_EG: 'فرق درجة حرارة الشحن مرتفع',
|
||||
field: 'clusterAlarmCodeLBit4',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '放电温差大',
|
||||
englabel: 'High Discharge Temperature Difference',
|
||||
zh_CN: '放电温差大',
|
||||
en_US: 'High Discharge Temperature Difference',
|
||||
es_ES: 'Gran diferencia de temperatura durante la descarga',
|
||||
fr_FR: 'Écart de température de décharge élevé',
|
||||
de_DE: 'Hohe Entladetemperaturdifferenz',
|
||||
pl_PL: 'Zbyt duża różnica temperatur podczas rozładowania',
|
||||
ar_EG: 'فرق درجة حرارة التفريغ مرتفع',
|
||||
field: 'clusterAlarmCodeLBit5',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '环境温度高',
|
||||
englabel: 'High Ambient Temperature',
|
||||
zh_CN: '环境温度高',
|
||||
en_US: 'High Ambient Temperature',
|
||||
es_ES: 'Temperatura ambiental alta',
|
||||
fr_FR: 'Température ambiante élevée',
|
||||
de_DE: 'Hohe Umgebungstemperatur',
|
||||
pl_PL: 'Zbyt wysoka temperatura otoczenia',
|
||||
ar_EG: 'درجة حرارة المحيطة مرتفعة',
|
||||
field: 'clusterAlarmCodeLBit6',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '单体电压高',
|
||||
englabel: 'High Cell Voltage',
|
||||
zh_CN: '单体电压高',
|
||||
en_US: 'High Cell Voltage',
|
||||
es_ES: 'Tensión de célula alto',
|
||||
fr_FR: 'Tension de cellule élevée',
|
||||
de_DE: 'Hohe Zellspannung',
|
||||
pl_PL: 'Zbyt wysokie napięcie ogniwa',
|
||||
ar_EG: 'جهد خلية مرتفع',
|
||||
field: 'clusterAlarmCodeLBit8',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '单体电压低',
|
||||
englabel: 'Low Cell Voltage',
|
||||
zh_CN: '单体电压低',
|
||||
en_US: 'Low Cell Voltage',
|
||||
es_ES: 'Tensión de célula bajo',
|
||||
fr_FR: 'Tension de cellule basse',
|
||||
de_DE: 'Niedrige Zellspannung',
|
||||
pl_PL: 'Zbyt niskie napięcie ogniwa',
|
||||
ar_EG: 'جهد خلية منخفض',
|
||||
field: 'clusterAlarmCodeLBit9',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '充电压差大',
|
||||
englabel: 'High Charge Voltage Difference',
|
||||
zh_CN: '充电压差大',
|
||||
en_US: 'High Charge Voltage Difference',
|
||||
es_ES: 'Gran diferencia de voltaje durante la carga',
|
||||
fr_FR: 'Écart de tension de charge élevé',
|
||||
de_DE: 'Hohe Ladespannungsdifferenz',
|
||||
pl_PL: 'Zbyt duża różnica napięć podczas ładowania',
|
||||
ar_EG: 'فرق جهد الشحن مرتفع',
|
||||
field: 'clusterAlarmCodeLBit10',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '放电压差大',
|
||||
englabel: 'High Discharge Voltage Difference',
|
||||
zh_CN: '放电压差大',
|
||||
en_US: 'High Discharge Voltage Difference',
|
||||
es_ES: 'Gran diferencia de voltaje durante la descarga',
|
||||
fr_FR: 'Écart de tension de décharge élevé',
|
||||
de_DE: 'Hohe Entladespannungsdifferenz',
|
||||
pl_PL: 'Zbyt duża różnica napięć podczas rozładowania',
|
||||
ar_EG: 'فرق جهد التفريغ مرتفع',
|
||||
field: 'clusterAlarmCodeLBit11',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'SOC低',
|
||||
englabel: 'Low SOC',
|
||||
zh_CN: 'SOC低',
|
||||
en_US: 'Low SOC',
|
||||
es_ES: 'SOC bajo',
|
||||
fr_FR: 'SOC faible',
|
||||
de_DE: 'Niedriger SOC',
|
||||
pl_PL: 'Zbyt niski poziom naładowania (SOC)',
|
||||
ar_EG: 'مستخفض SOC',
|
||||
field: 'clusterAlarmCodeLBit12',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '充电电流大',
|
||||
englabel: 'High Charge Current',
|
||||
zh_CN: '充电电流大',
|
||||
en_US: 'High Charge Current',
|
||||
es_ES: 'Corriente de carga alta',
|
||||
fr_FR: 'Courant de charge élevé',
|
||||
de_DE: 'Hoher Ladestrom',
|
||||
pl_PL: 'Zbyt wysoki prąd ładowania',
|
||||
ar_EG: 'تيار شحن مرتفع',
|
||||
field: 'clusterAlarmCodeLBit13',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '放电电流大',
|
||||
englabel: 'High Discharge Current',
|
||||
zh_CN: '放电电流大',
|
||||
en_US: 'High Discharge Current',
|
||||
es_ES: 'Corriente de descarga alta',
|
||||
fr_FR: 'Courant de décharge élevé',
|
||||
de_DE: 'Hoher Entladestrom',
|
||||
pl_PL: 'Zbyt wysoki prąd rozładowania',
|
||||
ar_EG: 'تيار تفريغ مرتفع',
|
||||
field: 'clusterAlarmCodeLBit14',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '总电压过高',
|
||||
englabel: 'Total Voltage Too High',
|
||||
zh_CN: '总电压过高',
|
||||
en_US: 'Total Voltage Too High',
|
||||
es_ES: 'Tensión total excesivo',
|
||||
fr_FR: 'Tension totale trop élevée',
|
||||
de_DE: 'Gesamtspannung zu hoch',
|
||||
pl_PL: 'Zbyt wysokie napięcie całkowite',
|
||||
ar_EG: 'الجهد الإجمالي مرتفع جداً',
|
||||
field: 'clusterAlarmCodeLBit15',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '总电压过低',
|
||||
englabel: 'Total Voltage Too Low',
|
||||
zh_CN: '总电压过低',
|
||||
en_US: 'Total Voltage Too Low',
|
||||
es_ES: 'Voltaje total demasiado bajo',
|
||||
fr_FR: 'Tension totale trop basse',
|
||||
de_DE: 'Gesamtspannung zu niedrig',
|
||||
pl_PL: 'Zbyt niskie napięcie zasilania',
|
||||
ar_EG: 'الجهد الكلي منخفض جدًا',
|
||||
field: 'clusterAlarmCodeLBit16',
|
||||
value: ''
|
||||
}
|
||||
]
|
||||
export const centerTopData = [
|
||||
{
|
||||
volLabel: '电压',
|
||||
@ -174,287 +659,3 @@ export const centerTopData = [
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
export const rightAllData = {
|
||||
top: [
|
||||
{
|
||||
label: '累计充电量',
|
||||
englabel: 'Total Charging',
|
||||
isMwh: true,
|
||||
unit: 'kWh',
|
||||
field: 'cTotalChargePower',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '累计放电量',
|
||||
englabel: 'Total Discharging',
|
||||
isMwh: true,
|
||||
unit: 'kWh',
|
||||
field: 'cTotalDisChargePower',
|
||||
value: ''
|
||||
},
|
||||
|
||||
// {
|
||||
// label: '绝缘正电阻',
|
||||
// field: 'cInsulationPositiveResistance',
|
||||
// unit: 'kΩ',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: '绝缘负电阻',
|
||||
// unit: 'kΩ',
|
||||
// field: 'cInsulationNegativeResistance',
|
||||
// value: ''
|
||||
// },
|
||||
|
||||
{
|
||||
label: 'SOC',
|
||||
unit: '%',
|
||||
englabel: 'SOC',
|
||||
field: 'clusterSOC',
|
||||
value: ''
|
||||
},
|
||||
|
||||
{
|
||||
label: 'SOH',
|
||||
unit: '%',
|
||||
englabel: 'SOH',
|
||||
field: 'clusterSOH',
|
||||
value: ''
|
||||
}
|
||||
|
||||
],
|
||||
centerAvgData: {
|
||||
AvgV: {
|
||||
label: '平均电压',
|
||||
field: 'csingleAgeV',
|
||||
value: ''
|
||||
},
|
||||
AvgT: {
|
||||
label: '平均温度',
|
||||
field: 'cageT',
|
||||
value: ''
|
||||
}
|
||||
},
|
||||
bottomData: {
|
||||
maxVol: {
|
||||
label: '最高电压',
|
||||
field: 'csingleMaxVolData',
|
||||
value: '',
|
||||
BMULabel: '电池组号',
|
||||
BMUField: 'csingleMaxVolBMUNum',
|
||||
BMUValue: '',
|
||||
boxLabel: '电芯位置',
|
||||
boxField: 'csingleMaxVolBoxNum',
|
||||
boxValue: ''
|
||||
},
|
||||
minVol: {
|
||||
label: '最低电压',
|
||||
field: 'csingleMinVolData',
|
||||
value: '',
|
||||
BMULabel: '电池组号',
|
||||
BMUField: 'csingleMinVolBMUNum',
|
||||
BMUValue: '',
|
||||
boxLabel: '电芯位置',
|
||||
boxField: 'csingleMinVolBoxNum',
|
||||
boxValue: ''
|
||||
},
|
||||
|
||||
maxTem: {
|
||||
label: '最高温度',
|
||||
field: 'csingleMaxTemData',
|
||||
value: '',
|
||||
BMULabel: '电池组号',
|
||||
BMUField: 'csingleMaxTemBMUNum',
|
||||
BMUValue: '',
|
||||
boxLabel: '电芯位置',
|
||||
boxField: 'csingleMaxTemBoxNum',
|
||||
boxValue: ''
|
||||
},
|
||||
minTmp: {
|
||||
label: '最低温度',
|
||||
field: 'csingleMinTemData',
|
||||
value: '',
|
||||
BMULabel: '电池组号',
|
||||
BMUField: 'csingleMinTemBMUNum',
|
||||
BMUValue: '',
|
||||
boxLabel: '电芯位置',
|
||||
boxField: 'csingleMinTemBoxNum',
|
||||
boxValue: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export const pcsRightData = [
|
||||
{
|
||||
label: '充电温度高',
|
||||
englabel: 'High charging temperature',
|
||||
field: 'clusterAlarmCodeLBit0',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '充电温度低',
|
||||
englabel: 'Low charging temperature',
|
||||
field: 'clusterAlarmCodeLBit1',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '放电温度高',
|
||||
englabel: 'High discharging temperature',
|
||||
field: 'clusterAlarmCodeLBit2',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '放电温度低',
|
||||
englabel: 'Low discharging temperature',
|
||||
field: 'clusterAlarmCodeLBit3',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '充电温差大',
|
||||
englabel: 'Large charging temperature difference',
|
||||
field: 'clusterAlarmCodeLBit4',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '放电温差大',
|
||||
englabel: 'Large discharge temperature difference',
|
||||
field: 'clusterAlarmCodeLBit5',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '环境温度高',
|
||||
englabel: 'High ambient temperature',
|
||||
field: 'clusterAlarmCodeLBit6',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '单体电压高',
|
||||
englabel: 'High cell voltage',
|
||||
field: 'clusterAlarmCodeLBit8',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '单体电压低',
|
||||
englabel: 'Cell low voltage',
|
||||
field: 'clusterAlarmCodeLBit9',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '充电压差大',
|
||||
englabel: 'Large charging voltage difference',
|
||||
field: 'clusterAlarmCodeLBit10',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '放电压差大',
|
||||
englabel: 'Large discharging voltage difference',
|
||||
field: 'clusterAlarmCodeLBit11',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'SOC低',
|
||||
englabel: 'Low SOC',
|
||||
field: 'clusterAlarmCodeLBit12',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '充电电流大',
|
||||
englabel: 'High charging current',
|
||||
field: 'clusterAlarmCodeLBit13',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '放电电流大',
|
||||
englabel: 'High discharge current',
|
||||
field: 'clusterAlarmCodeLBit14',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '总电压过高',
|
||||
englabel: 'overvoltage',
|
||||
field: 'clusterAlarmCodeLBit15',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '总电压过低',
|
||||
englabel: 'The total voltage is too low',
|
||||
field: 'clusterAlarmCodeLBit16',
|
||||
value: ''
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
// export const pcsRightData = [
|
||||
// {
|
||||
// label: '放电温度高',
|
||||
// field: 'clusterAlarmCodeLBit0',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: '放电温度低',
|
||||
// field: 'clusterAlarmCodeLBit1',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: '单体电压高',
|
||||
// field: 'clusterAlarmCodeLBit2',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: '单体电压低',
|
||||
// field: 'clusterAlarmCodeLBit3',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: 'SOC低',
|
||||
// field: 'clusterAlarmCodeLBit5',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: 'SOC高',
|
||||
// field: 'clusterAlarmCodeLBit6',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: '充电电流大',
|
||||
// field: 'clusterAlarmCodeLBit8',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: '放电电流大',
|
||||
// field: 'clusterAlarmCodeLBit9',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: '温差大',
|
||||
// field: 'clusterAlarmCodeLBit10',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: '绝缘低',
|
||||
// field: 'clusterAlarmCodeLBit11',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: '总压高',
|
||||
// field: 'clusterAlarmCodeLBit12',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: '总压低',
|
||||
// field: 'clusterAlarmCodeLBit13',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: '充电温度高',
|
||||
// field: 'clusterAlarmCodeLBit14',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: '充电温度低',
|
||||
// field: 'clusterAlarmCodeLBit15',
|
||||
// value: ''
|
||||
// }
|
||||
|
||||
// ]
|
||||
|
||||
@ -115,7 +115,7 @@ export default {
|
||||
const xAxis = []
|
||||
val.forEach((v) => {
|
||||
xAxis.push(v.data)
|
||||
gonglv.push(v.planCurve)
|
||||
gonglv.push(v.inCoreDataCurve)
|
||||
})
|
||||
this.options = {
|
||||
color: ['#00C8FF', '#FBBB11'],
|
||||
|
||||
@ -23,8 +23,9 @@
|
||||
:key="item.label"
|
||||
class="box-title"
|
||||
>
|
||||
<span v-if="language === 'en'" class="title">{{ item.englabel }}:</span>
|
||||
<span v-else class="title">{{ item.label }}:</span>
|
||||
<!-- <span v-if="language === 'en'" class="title">{{ item.englabel }}:</span>
|
||||
<span v-else class="title">{{ item.label }}:</span> -->
|
||||
<span class="title">{{ item[language] }}:</span>
|
||||
<span class="value">{{ item.value }}</span>
|
||||
<span class="unit">{{ item.unit }}</span>
|
||||
</div>
|
||||
@ -40,8 +41,9 @@
|
||||
:key="item.label"
|
||||
class="box-title"
|
||||
>
|
||||
<span v-if="language === 'en'" class="title">{{ item.englabel }}:</span>
|
||||
<span v-else class="title">{{ item.label }}:</span>
|
||||
<!-- <span v-if="language === 'en'" class="title">{{ item.englabel }}:</span>
|
||||
<span v-else class="title">{{ item.label }}:</span> -->
|
||||
<span class="title">{{ item[language] }}:</span>
|
||||
<span class="value">{{ item.value }}</span>
|
||||
<span class="unit">{{ item.unit }}</span>
|
||||
</div>
|
||||
@ -171,7 +173,6 @@
|
||||
width="100"
|
||||
height="100"
|
||||
style="cursor: pointer;"
|
||||
@click="lookDeviceDetail('triad-pcs-left')"
|
||||
/>
|
||||
<rect
|
||||
x="160"
|
||||
@ -330,15 +331,15 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
frameImg,
|
||||
value: 'XX直流舱',
|
||||
value: 'XX' + this.$t('pcs.dCCabin'),
|
||||
times: [
|
||||
{ label: 'XX直流舱', value: 'XX直流舱' },
|
||||
{ label: 'XX1直流舱', value: 'XX1直流舱' },
|
||||
{ label: 'XX2直流舱', value: 'XX2直流舱' },
|
||||
{ label: 'XX3直流舱', value: 'XX3直流舱' }
|
||||
{ label: 'XX' + this.$t('pcs.dCCabin'), value: 'XX' + this.$t('pcs.dCCabin') },
|
||||
{ label: 'XX1' + this.$t('pcs.dCCabin'), value: 'XX1' + this.$t('pcs.dCCabin') },
|
||||
{ label: 'XX2' + this.$t('pcs.dCCabin'), value: 'XX2' + this.$t('pcs.dCCabin') },
|
||||
{ label: 'XX3' + this.$t('pcs.dCCabin'), value: 'XX3' + this.$t('pcs.dCCabin') }
|
||||
],
|
||||
config: {
|
||||
header: ['告警'],
|
||||
header: [this.$t('pcs.alarm')],
|
||||
data: [],
|
||||
columnWidth: [],
|
||||
align: ['center', 'center', 'center', 'center'],
|
||||
@ -411,7 +412,6 @@ export default {
|
||||
}
|
||||
try {
|
||||
const res = await GetNewValue(params)
|
||||
console.log('dcdcmppt', res)
|
||||
this.pcsLeftTopData.forEach((el) => {
|
||||
if (Object.keys(res.data).length !== 0) {
|
||||
el.value = res.data[el.field].value
|
||||
|
||||
@ -3,7 +3,8 @@
|
||||
<div class="left-top-wrap">
|
||||
<ItemBox :title="$t('pcs.faultSign')">
|
||||
<div slot="title-right" />
|
||||
<ColListData v-loading="loading" :col-list-data="pcsRightData" :label-key="language === 'en' ? 'englabel' : 'label'" />
|
||||
<!-- <ColListData v-loading="loading" :col-list-data="pcsRightData" :label-key="language === 'en' ? 'englabel' : 'label'" /> -->
|
||||
<ColListData v-loading="loading" :col-list-data="pcsRightData" :label-key="language" />
|
||||
</ItemBox>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -3,233 +3,418 @@ export const pcsRightData = [
|
||||
label: 'EPO故障',
|
||||
englabel: '',
|
||||
field: 'YX0058',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: 'EPO故障',
|
||||
en_US: 'EPO Fault',
|
||||
es_ES: 'Falla EPO',
|
||||
fr_FR: 'Panne EPO',
|
||||
de_DE: 'EPO Fehler',
|
||||
pl_PL: 'Usterka EPO',
|
||||
ar_EG: 'عطل EPO'
|
||||
},
|
||||
|
||||
{
|
||||
label: 'IGBT OCP故障',
|
||||
englabel: '',
|
||||
field: 'YX0059',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: 'IGBT OCP故障',
|
||||
en_US: 'IGBT OCP Fault',
|
||||
es_ES: 'Falla IGBT OCP',
|
||||
fr_FR: 'Panne IGBT OCP',
|
||||
de_DE: 'IGBT OCP Fehler',
|
||||
pl_PL: 'Usterka IGBT OCP',
|
||||
ar_EG: 'عطل IGBT OCP'
|
||||
},
|
||||
{
|
||||
label: '高压侧硬件过压故障',
|
||||
englabel: '',
|
||||
field: 'YX0060',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '高压侧硬件过压故障',
|
||||
en_US: 'HV Side Hardware Overvoltage Fault',
|
||||
es_ES: 'Falla de Sobretensión de Hardware Lado HV',
|
||||
fr_FR: 'Panne de Survoltage Matériel Côté HV',
|
||||
de_DE: 'HV-Seite Hardware Überspannungsfehler',
|
||||
pl_PL: 'Usterka Przewyższenia Napięcia Hardware Strony Wysokiego Napięcia',
|
||||
ar_EG: 'عطل فرط الجهد المادي لجهة الجهد العالي'
|
||||
},
|
||||
{
|
||||
label: '高压侧硬件过流故障',
|
||||
englabel: '',
|
||||
field: 'YX0061',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '高压侧硬件过流故障',
|
||||
en_US: 'HV Side Hardware Overcurrent Fault',
|
||||
es_ES: 'Falla de Sobrecorriente de Hardware Lado HV',
|
||||
fr_FR: 'Panne de Surintensité Matériel Côté HV',
|
||||
de_DE: 'HV-Seite Hardware Überstromfehler',
|
||||
pl_PL: 'Usterka Przekroczenia Prądu Hardware Strony Wysokiego Napięcia',
|
||||
ar_EG: 'عطل فرط التيار المادي لجهة الجهد العالي'
|
||||
},
|
||||
{
|
||||
label: 'IGBT硬件过流故障',
|
||||
englabel: '',
|
||||
field: 'YX0062',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: 'IGBT硬件过流故障',
|
||||
en_US: 'IGBT Hardware Overcurrent Fault',
|
||||
es_ES: 'Falla de Sobrecorriente de Hardware IGBT',
|
||||
fr_FR: 'Panne de Surintensité Matériel IGBT',
|
||||
de_DE: 'IGBT Hardware Überstromfehler',
|
||||
pl_PL: 'Usterka Przekroczenia Prądu Hardware IGBT',
|
||||
ar_EG: 'عطل فرط التيار المادي لـ IGBT'
|
||||
},
|
||||
{
|
||||
label: '24V辅助电源故障',
|
||||
englabel: '',
|
||||
field: 'YX0063',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '24V辅助电源故障',
|
||||
en_US: '24V Auxiliary Power Fault',
|
||||
es_ES: 'Falla de Fuente de Alimentación Auxiliar 24V',
|
||||
fr_FR: 'Panne de Source d\'Alimentation Auxiliaire 24V',
|
||||
de_DE: '24V Hilfsstromversorgungsfehler',
|
||||
pl_PL: 'Usterka Zasilania Pomocniczego 24V',
|
||||
ar_EG: 'عطل طاقة مساعدة 24V'
|
||||
},
|
||||
{
|
||||
label: '风扇故障',
|
||||
englabel: '',
|
||||
field: 'YX0064',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '风扇故障',
|
||||
en_US: 'Fan Fault',
|
||||
es_ES: 'Falla de Ventilador',
|
||||
fr_FR: 'Panne de Ventilateur',
|
||||
de_DE: 'Lüfter Fehler',
|
||||
pl_PL: 'Usterka Wentylatora',
|
||||
ar_EG: 'عطل المروحة'
|
||||
},
|
||||
{
|
||||
label: '连接故障',
|
||||
englabel: '',
|
||||
field: 'YX0065',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '连接故障',
|
||||
en_US: 'Connection Fault',
|
||||
es_ES: 'Falla de Conexión',
|
||||
fr_FR: 'Panne de Connexion',
|
||||
de_DE: 'Verbindungsfehler',
|
||||
pl_PL: 'Usterka Połączenia',
|
||||
ar_EG: 'عطل الاتصال'
|
||||
},
|
||||
{
|
||||
label: '功率模块过温',
|
||||
englabel: '',
|
||||
field: 'YX0066',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '功率模块过温',
|
||||
en_US: 'Power Module Over Temperature',
|
||||
es_ES: 'Sobretemperatura de Módulo de Potencia',
|
||||
fr_FR: 'Surchauffe de Module de Puissance',
|
||||
de_DE: 'Leistungsmodul Überhitzung',
|
||||
pl_PL: 'Przewyższenie Temperatury Modułu Mocy',
|
||||
ar_EG: 'فرط درجة حرارة وحدة القوة'
|
||||
},
|
||||
{
|
||||
label: '±15V辅源故障',
|
||||
englabel: '',
|
||||
field: 'YX0067',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '±15V辅源故障',
|
||||
en_US: '±15V Auxiliary Power Fault',
|
||||
es_ES: 'Falla de Fuente Auxiliar ±15V',
|
||||
fr_FR: 'Panne de Source Auxiliaire ±15V',
|
||||
de_DE: '±15V Hilfsstromversorgungsfehler',
|
||||
pl_PL: 'Usterka Zasilania Pomocniczego ±15V',
|
||||
ar_EG: 'عطل طاقة مساعدة ±15V'
|
||||
},
|
||||
{
|
||||
label: '预充电超时故障',
|
||||
englabel: '',
|
||||
field: 'YX0068',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '预充电超时故障',
|
||||
en_US: 'Pre-Charge Timeout Fault',
|
||||
es_ES: 'Falla de Tiempo de Espera de Precarga',
|
||||
fr_FR: 'Panne de Délai de Précharge',
|
||||
de_DE: 'Vorladungszeitüberschreitungsfehler',
|
||||
pl_PL: 'Usterka Przekroczenia Czasu Przedładowania',
|
||||
ar_EG: 'عطل انتهاء مهلة الشحن المسبق'
|
||||
},
|
||||
{
|
||||
label: '低压侧A相软件过流故障',
|
||||
englabel: '',
|
||||
field: 'YX0069',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '低压侧A相软件过流故障',
|
||||
en_US: 'LV Side Phase A Software Overcurrent Fault',
|
||||
es_ES: 'Falla de Sobrecorriente Software Fase A Lado LV',
|
||||
fr_FR: 'Panne de Surintensité Logiciel Phase A Côté LV',
|
||||
de_DE: 'LV-Seite Phase A Software Überstromfehler',
|
||||
pl_PL: 'Usterka Przekroczenia Prądu Oprogramowania Fazy A Strony Niskiego Napięcia',
|
||||
ar_EG: 'عطل فرط التيار البرمجي لفаза A لجهة الجهد المنخفض'
|
||||
},
|
||||
{
|
||||
label: '低压侧B相软件过流故障',
|
||||
englabel: '',
|
||||
field: 'YX0070',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '低压侧B相软件过流故障',
|
||||
en_US: 'LV Side Phase B Software Overcurrent Fault',
|
||||
es_ES: 'Falla de Sobrecorriente Software Fase B Lado LV',
|
||||
fr_FR: 'Panne de Surintensité Logiciel Phase B Côté LV',
|
||||
de_DE: 'LV-Seite Phase B Software Überstromfehler',
|
||||
pl_PL: 'Usterka Przekroczenia Prądu Oprogramowania Fazy B Strony Niskiego Napięcia',
|
||||
ar_EG: 'عطل فرط التيار البرمجي لفаза B لجهة الجهد المنخفض'
|
||||
},
|
||||
{
|
||||
label: '低压侧C相软件过流故障',
|
||||
englabel: '',
|
||||
field: 'YX0071',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '低压侧C相软件过流故障',
|
||||
en_US: 'LV Side Phase C Software Overcurrent Fault',
|
||||
es_ES: 'Falla de Sobrecorriente Software Fase C Lado LV',
|
||||
fr_FR: 'Panne de Surintensité Logiciel Phase C Côté LV',
|
||||
de_DE: 'LV-Seite Phase C Software Überstromfehler',
|
||||
pl_PL: 'Usterka Przekroczenia Prądu Oprogramowania Fazy C Strony Niskiego Napięcia',
|
||||
ar_EG: 'عطل فرط التيار البرمجي لفаза C لجهة الجهد المنخفض'
|
||||
},
|
||||
{
|
||||
label: '低压侧负端软件过流故障',
|
||||
englabel: '',
|
||||
field: 'YX0072',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '低压侧负端软件过流故障',
|
||||
en_US: 'LV Side Negative Terminal Software Overcurrent Fault',
|
||||
es_ES: 'Falla de Sobrecorriente Software Terminal Negativo Lado LV',
|
||||
fr_FR: 'Panne de Surintensité Logiciel Terminal Négatif Côté LV',
|
||||
de_DE: 'LV-Seite Negativer Anschluss Software Überstromfehler',
|
||||
pl_PL: 'Usterka Przekroczenia Prądu Oprogramowania Terminala Negatywnego Strony Niskiego Napięcia',
|
||||
ar_EG: 'عطل فرط التيار البرمجي للطرف السلبي لجهة الجهد المنخفض'
|
||||
},
|
||||
{
|
||||
label: '模块内部短路故障',
|
||||
englabel: '',
|
||||
field: 'YX0073',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '模块内部短路故障',
|
||||
en_US: 'Module Internal Short Circuit Fault',
|
||||
es_ES: 'Falla de Cortocircuito Interno del Módulo',
|
||||
fr_FR: 'Panne de Court-Circuit Interne du Module',
|
||||
de_DE: 'Modul Innenkurzschlussfehler',
|
||||
pl_PL: 'Usterka Krótkiego Zgrania Wewnętrznego Modułu',
|
||||
ar_EG: 'عطل اتصال قصير داخلي للوحدة'
|
||||
},
|
||||
{
|
||||
label: '高压侧预充过压故障',
|
||||
englabel: '',
|
||||
field: 'YX0074',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '高压侧预充过压故障',
|
||||
en_US: 'HV Side Pre-Charge Overvoltage Fault',
|
||||
es_ES: 'Falla de Sobretensión de Precarga Lado HV',
|
||||
fr_FR: 'Panne de Survoltage de Précharge Côté HV',
|
||||
de_DE: 'HV-Seite Vorladungsüberspannungsfehler',
|
||||
pl_PL: 'Usterka Przewyższenia Napięcia Przedładowania Strony Wysokiego Napięcia',
|
||||
ar_EG: 'عطل فرط الجهد للشحن المسبق لجهة الجهد العالي'
|
||||
},
|
||||
{
|
||||
label: '高压侧极性反接故障',
|
||||
englabel: '',
|
||||
field: 'YX0075',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '高压侧极性反接故障',
|
||||
en_US: 'HV Side Polarity Reverse Connection Fault',
|
||||
es_ES: 'Falla de Conexión Inversa de Polaridad Lado HV',
|
||||
fr_FR: 'Panne de Connexion Inversée de Polarité Côté HV',
|
||||
de_DE: 'HV-Seite Polaritätsumkehr Verbindungsfehler',
|
||||
pl_PL: 'Usterka Odwróconego Połączenia Polarności Strony Wysokiego Napięcia',
|
||||
ar_EG: 'عطل توصيل عكسي للقطبية لجهة الجهد العالي'
|
||||
},
|
||||
{
|
||||
label: '高压侧短路故障',
|
||||
englabel: '',
|
||||
field: 'YX0076',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '高压侧短路故障',
|
||||
en_US: 'HV Side Short Circuit Fault',
|
||||
es_ES: 'Falla de Cortocircuito Lado HV',
|
||||
fr_FR: 'Panne de Court-Circuit Côté HV',
|
||||
de_DE: 'HV-Seite Kurzschlussfehler',
|
||||
pl_PL: 'Usterka Krótkiego Zgrania Strony Wysokiego Napięcia',
|
||||
ar_EG: 'عطل اتصال قصير لجهة الجهد العالي'
|
||||
},
|
||||
{
|
||||
label: '高压侧运行过压故障',
|
||||
englabel: '',
|
||||
field: 'YX0077',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '高压侧运行过压故障',
|
||||
en_US: 'HV Side Operation Overvoltage Fault',
|
||||
es_ES: 'Falla de Sobretensión de Operación Lado HV',
|
||||
fr_FR: 'Panne de Survoltage de Fonctionnement Côté HV',
|
||||
de_DE: 'HV-Seite Betriebsüberspannungsfehler',
|
||||
pl_PL: 'Usterka Przewyższenia Napięcia Eksploatacyjnego Strony Wysokiego Napięcia',
|
||||
ar_EG: 'عطل فرط الجهد التشغيلي لجهة الجهد العالي'
|
||||
},
|
||||
{
|
||||
label: '高压侧运行欠压故障',
|
||||
englabel: '',
|
||||
field: 'YX0078',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '高压侧运行欠压故障',
|
||||
en_US: 'HV Side Operation Undervoltage Fault',
|
||||
es_ES: 'Falla de Subtensión de Operación Lado HV',
|
||||
fr_FR: 'Panne de Sous-tension de Fonctionnement Côté HV',
|
||||
de_DE: 'HV-Seite Betriebsunterspannungsfehler',
|
||||
pl_PL: 'Usterka Niedociśnienia Eksploatacyjnego Strony Wysokiego Napięcia',
|
||||
ar_EG: 'عطل نقص الجهد التشغيلي لجهة الجهد العالي'
|
||||
},
|
||||
{
|
||||
label: '高压侧正负母线不平衡故障',
|
||||
englabel: '',
|
||||
field: 'YX0079',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '高压侧正负母线不平衡故障',
|
||||
en_US: 'HV Side Positive-Negative Bus Unbalance Fault',
|
||||
es_ES: 'Falla de Desequilibrio de Barra Positiva-Negativa Lado HV',
|
||||
fr_FR: 'Panne de Déséquilibre de Bus Positif-Négatif Côté HV',
|
||||
de_DE: 'HV-Seite Positiv-Negativ Bus Ungleichgewichtsfehler',
|
||||
pl_PL: 'Usterka Nierównowagi Szyny Pozytywnej-Negatywnej Strony Wysokiego Napięcia',
|
||||
ar_EG: 'عطل عدم توازن الحافلة الموجبة والسلبية لجهة الجهد العالي'
|
||||
},
|
||||
{
|
||||
label: '与主机模式设置不匹配',
|
||||
englabel: '',
|
||||
field: 'YX0080',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '与主机模式设置不匹配',
|
||||
en_US: 'Mismatch with Host Mode Settings',
|
||||
es_ES: 'No Coincide con la Configuración del Modo Host',
|
||||
fr_FR: 'Non Conformité avec les Paramètres du Mode Hôte',
|
||||
de_DE: 'Nicht übereinstimmend mit Host-Modus-Einstellungen',
|
||||
pl_PL: 'Niepasowanie do Ustawień Trybu Hostowanego',
|
||||
ar_EG: 'لا يتطابق مع إعدادات وضع المضيف'
|
||||
},
|
||||
{
|
||||
label: '控制板EEROM故障',
|
||||
englabel: '',
|
||||
field: 'YX0081',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '控制板EEROM故障',
|
||||
en_US: 'Control Board EEROM Fault',
|
||||
es_ES: 'Falla de EEROM de Placa de Control',
|
||||
fr_FR: 'Panne de EEROM de Carte de Contrôle',
|
||||
de_DE: 'Steuerplatine EEROM Fehler',
|
||||
pl_PL: 'Usterka EEROM Płyty Sterowania',
|
||||
ar_EG: 'عطل EEROM لوحة التحكم'
|
||||
},
|
||||
{
|
||||
label: '从机CAN通信故障',
|
||||
englabel: '',
|
||||
field: 'YX0082',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '从机CAN通信故障',
|
||||
en_US: 'Slave CAN Communication Fault',
|
||||
es_ES: 'Falla de Comunicación CAN Esclavo',
|
||||
fr_FR: 'Panne de Communication CAN Esclave',
|
||||
de_DE: 'Slave CAN Kommunikationsfehler',
|
||||
pl_PL: 'Usterka Komunikacji CAN Slave',
|
||||
ar_EG: 'عطل اتصال CAN للعامل المساعد'
|
||||
},
|
||||
{
|
||||
label: '与EMS通信故障',
|
||||
englabel: '',
|
||||
field: 'YX0083',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '与EMS通信故障',
|
||||
en_US: 'Communication Fault with EMS',
|
||||
es_ES: 'Falla de Comunicación con EMS',
|
||||
fr_FR: 'Panne de Communication avec EMS',
|
||||
de_DE: 'Kommunikationsfehler mit EMS',
|
||||
pl_PL: 'Usterka Komunikacji z EMS',
|
||||
ar_EG: 'عطل اتصال مع EMS'
|
||||
},
|
||||
{
|
||||
label: '绝缘电阻过低故障',
|
||||
englabel: '',
|
||||
field: 'YX0084',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '绝缘电阻过低故障',
|
||||
en_US: 'Insulation Resistance Too Low Fault',
|
||||
es_ES: 'Falla de Resistencia de Aislamiento Muy Baja',
|
||||
fr_FR: 'Panne de Résistance d\'Isolation Trop Basse',
|
||||
de_DE: 'Isolationswiderstand zu niedrig Fehler',
|
||||
pl_PL: 'Usterka Zbyt Niskiego Oporu Izolacyjnego',
|
||||
ar_EG: 'عطل مقاومة العزل منخفضة جدا'
|
||||
},
|
||||
{
|
||||
label: '低压侧欠压故障',
|
||||
englabel: '',
|
||||
field: 'YX0085',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '低压侧欠压故障',
|
||||
en_US: 'LV Side Undervoltage Fault',
|
||||
es_ES: 'Falla de Subtensión Lado LV',
|
||||
fr_FR: 'Panne de Sous-tension Côté LV',
|
||||
de_DE: 'LV-Seite Unterspannungsfehler',
|
||||
pl_PL: 'Usterka Niedociśnienia Strony Niskiego Napięcia',
|
||||
ar_EG: 'عطل نقص الجهد لجهة الجهد المنخفض'
|
||||
},
|
||||
{
|
||||
label: '软件瞬态过流故障',
|
||||
englabel: '',
|
||||
field: 'YX0087',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '软件瞬态过流故障',
|
||||
en_US: 'Software Transient Overcurrent Fault',
|
||||
es_ES: 'Falla de Sobrecorriente Transitoria de Software',
|
||||
fr_FR: 'Panne de Surintensité Transitoire Logiciel',
|
||||
de_DE: 'Software transienter Überstromfehler',
|
||||
pl_PL: 'Usterka Przekroczenia Prądu Przejściowego Oprogramowania',
|
||||
ar_EG: 'عطل فرط التيار العابر البرمجي'
|
||||
},
|
||||
{
|
||||
label: '低压侧过压故障',
|
||||
englabel: '',
|
||||
field: 'YX0088',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '低压侧过压故障',
|
||||
en_US: 'LV Side Overvoltage Fault',
|
||||
es_ES: 'Falla de Sobretensión Lado LV',
|
||||
fr_FR: 'Panne de Survoltage Côté LV',
|
||||
de_DE: 'LV-Seite Überspannungsfehler',
|
||||
pl_PL: 'Usterka Przewyższenia Napięcia Strony Niskiego Napięcia',
|
||||
ar_EG: 'عطل فرط الجهد لجهة الجهد المنخفض'
|
||||
},
|
||||
{
|
||||
label: '低压侧过流故障',
|
||||
englabel: '',
|
||||
field: 'YX0089',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '低压侧过流故障',
|
||||
en_US: 'LV Side Overcurrent Fault',
|
||||
es_ES: 'Falla de Sobrecorriente Lado LV',
|
||||
fr_FR: 'Panne de Surintensité Côté LV',
|
||||
de_DE: 'LV-Seite Überstromfehler',
|
||||
pl_PL: 'Usterka Przekroczenia Prądu Strony Niskiego Napięcia',
|
||||
ar_EG: 'عطل فرط التيار لجهة الجهد المنخفض'
|
||||
},
|
||||
{
|
||||
label: '低压侧极性反接故障',
|
||||
englabel: '',
|
||||
field: 'YX0090',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '低压侧极性反接故障',
|
||||
en_US: 'LV Side Polarity Reverse Connection Fault',
|
||||
es_ES: 'Falla de Conexión Inversa de Polaridad Lado LV',
|
||||
fr_FR: 'Panne de Connexion Inversée de Polarité Côté LV',
|
||||
de_DE: 'LV-Seite Polaritätsumkehr Verbindungsfehler',
|
||||
pl_PL: 'Usterka Odwróconego Połączenia Polarności Strony Niskiego Napięcia',
|
||||
ar_EG: 'عطل توصيل عكسي للقطبية لجهة الجهد المنخفض'
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
export const pcsLeftTopData = [
|
||||
{
|
||||
label: '低压侧电压',
|
||||
englabel: 'BAT voltage',
|
||||
field: 'lowV',
|
||||
value: '0',
|
||||
unit: 'V'
|
||||
},
|
||||
{
|
||||
label: '高压侧电压',
|
||||
field: 'highV',
|
||||
englabel: 'BAT current',
|
||||
value: '0',
|
||||
unit: 'A'
|
||||
},
|
||||
{
|
||||
label: '低压侧电流',
|
||||
englabel: 'BUS voltage',
|
||||
field: 'lowI',
|
||||
value: '0',
|
||||
unit: 'V'
|
||||
}
|
||||
|
||||
]
|
||||
export const pcsLeftBottomData1 = [
|
||||
{
|
||||
label: '有功功率',
|
||||
englabel: 'operating power',
|
||||
field: 'pvActivePower',
|
||||
value: '0',
|
||||
unit: 'kW'
|
||||
}
|
||||
]
|
||||
|
||||
export const pcsLeftBottomData2 = [
|
||||
]
|
||||
|
||||
export const pcsCenterDataStatus = [
|
||||
@ -237,77 +422,233 @@ export const pcsCenterDataStatus = [
|
||||
label: '运行状态',
|
||||
englabel: 'Run state',
|
||||
field: 'runState',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '运行状态',
|
||||
en_US: 'Running State',
|
||||
es_ES: 'Estado de Operación',
|
||||
fr_FR: 'État de Fonctionnement',
|
||||
de_DE: 'Betriebszustand',
|
||||
pl_PL: 'Stan Działania',
|
||||
ar_EG: 'حالة التشغيل'
|
||||
},
|
||||
{
|
||||
label: '远方/就地状态',
|
||||
englabel: 'Distance/Local State',
|
||||
field: 'remoteInPlace',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '远方/就地状态',
|
||||
en_US: 'Remote/Local State',
|
||||
es_ES: 'Estado Remoto/Local',
|
||||
fr_FR: 'État Distant/Local',
|
||||
de_DE: 'Fern/Lokaler Zustand',
|
||||
pl_PL: 'Stan Zdalny/Lokalny',
|
||||
ar_EG: 'حالة رحلية/محلية'
|
||||
},
|
||||
{
|
||||
label: '并网',
|
||||
englabel: 'Grid',
|
||||
field: 'onGrid',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '并网',
|
||||
en_US: 'Grid-connected',
|
||||
es_ES: 'Conectado a Red',
|
||||
fr_FR: 'Connecté au Réseau',
|
||||
de_DE: 'Netzverbunden',
|
||||
pl_PL: 'Połączony z Siecią',
|
||||
ar_EG: 'مربوط بالشبكة'
|
||||
},
|
||||
{
|
||||
label: '离网',
|
||||
englabel: 'Off-grid',
|
||||
field: 'offGrid',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '离网',
|
||||
en_US: 'Off-grid',
|
||||
es_ES: 'Fuera de Red',
|
||||
fr_FR: 'Hors Réseau',
|
||||
de_DE: 'Netzunabhängig',
|
||||
pl_PL: 'Poza Siecią',
|
||||
ar_EG: 'خارج الشبكة'
|
||||
},
|
||||
|
||||
{
|
||||
label: '充电状态',
|
||||
englabel: 'Charge state',
|
||||
field: 'stateCharging',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '充电状态',
|
||||
en_US: 'Charging State',
|
||||
es_ES: 'Estado de Carga',
|
||||
fr_FR: 'État de Charge',
|
||||
de_DE: 'Ladezustand',
|
||||
pl_PL: 'Stan Ładowania',
|
||||
ar_EG: 'حالة الشحن'
|
||||
},
|
||||
{
|
||||
label: '放电状态',
|
||||
englabel: 'Discharge state',
|
||||
field: 'stateDischarging',
|
||||
value: ''
|
||||
}, {
|
||||
value: '',
|
||||
zh_CN: '放电状态',
|
||||
en_US: 'Discharging State',
|
||||
es_ES: 'Estado de Descarga',
|
||||
fr_FR: 'État de Décharge',
|
||||
de_DE: 'Entladezustand',
|
||||
pl_PL: 'Stan Rozładowania',
|
||||
ar_EG: 'حالة التفريغ'
|
||||
},
|
||||
{
|
||||
label: '待机',
|
||||
englabel: 'Standby',
|
||||
field: 'deviceStateStand',
|
||||
value: ''
|
||||
}, {
|
||||
value: '',
|
||||
zh_CN: '待机',
|
||||
en_US: 'Standby',
|
||||
es_ES: 'Espera',
|
||||
fr_FR: 'En Veille',
|
||||
de_DE: 'Bereitschaft',
|
||||
pl_PL: 'Stan Gotowości',
|
||||
ar_EG: 'الحضور في المكان'
|
||||
},
|
||||
{
|
||||
label: '故障',
|
||||
englabel: 'Fault',
|
||||
field: 'deviceStateFault',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '故障',
|
||||
en_US: 'Fault',
|
||||
es_ES: 'Falla',
|
||||
fr_FR: 'Panne',
|
||||
de_DE: 'Fehler',
|
||||
pl_PL: 'Usterka',
|
||||
ar_EG: 'عطل'
|
||||
},
|
||||
{
|
||||
label: '充满',
|
||||
englabel: 'Full',
|
||||
field: 'deviceStateFull',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '充满',
|
||||
en_US: 'Fully Charged',
|
||||
es_ES: 'Carga Completa',
|
||||
fr_FR: 'Charge Complète',
|
||||
de_DE: 'Vollgeladen',
|
||||
pl_PL: 'Pełna Ładowanie',
|
||||
ar_EG: 'مشحون بالكامل'
|
||||
},
|
||||
{
|
||||
label: '放空',
|
||||
englabel: 'Empty',
|
||||
field: 'deviceStateEmpty',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '放空',
|
||||
en_US: 'Fully Discharged',
|
||||
es_ES: 'Descarga Completa',
|
||||
fr_FR: 'Décharge Complète',
|
||||
de_DE: 'Vollentladen',
|
||||
pl_PL: 'Pełne Rozładowanie',
|
||||
ar_EG: 'مفارغ بالكامل'
|
||||
},
|
||||
{
|
||||
label: '直流断路器',
|
||||
englabel: 'DC breaker',
|
||||
field: 'dcBreaker',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '直流断路器',
|
||||
en_US: 'DC Circuit Breaker',
|
||||
es_ES: 'Interruptor de CC',
|
||||
fr_FR: 'Disjoncteur CC',
|
||||
de_DE: 'Gleichstromschalter',
|
||||
pl_PL: 'Przerwač Prądu Stałego',
|
||||
ar_EG: 'قاطع دائرة تيار مستمر'
|
||||
},
|
||||
{
|
||||
label: '紧急停机',
|
||||
englabel: 'Emergent shutdown',
|
||||
field: 'eStop',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: '紧急停机',
|
||||
en_US: 'Emergency Shutdown',
|
||||
es_ES: 'Apagón de Emergencia',
|
||||
fr_FR: 'Arrêt d\'Urgence',
|
||||
de_DE: 'Notabschaltung',
|
||||
pl_PL: 'Awaryjne Zatrzymanie',
|
||||
ar_EG: 'إيقاف طارئ'
|
||||
},
|
||||
{
|
||||
label: 'SOC',
|
||||
field: 'soc',
|
||||
value: ''
|
||||
value: '',
|
||||
zh_CN: 'SOC',
|
||||
en_US: 'SOC',
|
||||
es_ES: 'SOC',
|
||||
fr_FR: 'SOC',
|
||||
de_DE: 'SOC',
|
||||
pl_PL: 'SOC',
|
||||
ar_EG: 'SOC'
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
export const pcsLeftTopData = [
|
||||
{
|
||||
label: '低压侧电压',
|
||||
englabel: 'low-side voltage',
|
||||
field: 'lowV',
|
||||
value: '0',
|
||||
unit: 'V',
|
||||
zh_CN: '低压侧电压',
|
||||
en_US: 'LV Side Voltage',
|
||||
es_ES: 'Voltaje Lado LV',
|
||||
fr_FR: 'Tension Côté LV',
|
||||
de_DE: 'LV-Seite Spannung',
|
||||
pl_PL: 'Napięcie Strony LV',
|
||||
ar_EG: 'جهد جهة الجهد المنخفض'
|
||||
},
|
||||
{
|
||||
label: '高压侧电压',
|
||||
field: 'highV',
|
||||
englabel: 'high-side voltage',
|
||||
value: '0',
|
||||
unit: 'A',
|
||||
zh_CN: '高压侧电压',
|
||||
en_US: 'HV Side Voltage',
|
||||
es_ES: 'Voltaje Lado HV',
|
||||
fr_FR: 'Tension Côté HV',
|
||||
de_DE: 'HV-Seite Spannung',
|
||||
pl_PL: 'Napięcie Strony HV',
|
||||
ar_EG: 'جهد جهة الجهد العالي'
|
||||
},
|
||||
{
|
||||
label: '低压侧电流',
|
||||
englabel: 'low-side current',
|
||||
field: 'lowI',
|
||||
value: '0',
|
||||
unit: 'V',
|
||||
zh_CN: '低压侧电流',
|
||||
en_US: 'LV Side Current',
|
||||
es_ES: 'Corriente Lado LV',
|
||||
fr_FR: 'Courant Côté LV',
|
||||
de_DE: 'LV-Seite Strom',
|
||||
pl_PL: 'Prąd Strony LV',
|
||||
ar_EG: 'تيار جهة الجهد المنخفض'
|
||||
}
|
||||
]
|
||||
|
||||
export const pcsLeftBottomData1 = [
|
||||
{
|
||||
label: '有功功率',
|
||||
englabel: 'operating power',
|
||||
field: 'pvActivePower',
|
||||
value: '0',
|
||||
unit: 'kW',
|
||||
zh_CN: '有功功率',
|
||||
en_US: 'Active Power',
|
||||
es_ES: 'Potencia Activa',
|
||||
fr_FR: 'Puissance Active',
|
||||
de_DE: 'Wirkleistung',
|
||||
pl_PL: 'Moc Aktywna',
|
||||
ar_EG: 'القوة الفعالة'
|
||||
}
|
||||
]
|
||||
|
||||
export const pcsLeftBottomData2 = [
|
||||
]
|
||||
|
||||
@ -92,9 +92,7 @@
|
||||
width="20"
|
||||
height="30"
|
||||
:style="{
|
||||
fill: break_1.length
|
||||
? getBreakColor(break_1[0].value)
|
||||
: '#888888',
|
||||
fill: break_1.length ? getBreakColor(break_1[0].value) : '#888888',
|
||||
cursor: 'pointer',
|
||||
}"
|
||||
style="cursor: pointer"
|
||||
@ -143,7 +141,7 @@ export default {
|
||||
props: {},
|
||||
data() {
|
||||
return {
|
||||
value: 'XX直流舱',
|
||||
value: 'XX' + this.$t('pcs.dCCabin'),
|
||||
isChongdian: false,
|
||||
isFangdian: false,
|
||||
line: {
|
||||
@ -275,11 +273,11 @@ export default {
|
||||
},
|
||||
workStatus(val) {
|
||||
if (val === 0) {
|
||||
return '停机'
|
||||
return this.$t('pcs.shutdown')
|
||||
} else if (val === 1) {
|
||||
return '运行'
|
||||
return this.$t('pcs.run')
|
||||
} else if (val === 2) {
|
||||
return '待机'
|
||||
return this.$t('pcs.standby')
|
||||
}
|
||||
},
|
||||
handleSetting() {
|
||||
|
||||
@ -4,66 +4,78 @@
|
||||
<ItemBox :title="$t('pcs.runData')">
|
||||
<div v-loading="loading" class="dianbiao-container">
|
||||
<div v-for="item in RunningTopData" :key="item.label" class="item-dianbiao">
|
||||
<div v-if="language === 'en'" class="label">{{ item.englabel }}</div>
|
||||
<div v-else class="label">{{ item.label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="label">{{ item.englabel }}</div>
|
||||
<div v-else class="label">{{ item.label }}</div> -->
|
||||
<div class="label">{{ item[language] }}</div>
|
||||
<div class="value">{{ item.value }}</div>
|
||||
</div>
|
||||
<div class="zhengxiang">
|
||||
<div class="left">
|
||||
<div v-if="language === 'en'" class="label">{{ RunningCenterData[1].englabel }}</div>
|
||||
<div v-else class="label">{{ RunningCenterData[1].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="label">{{ RunningCenterData[1].englabel }}</div>
|
||||
<div v-else class="label">{{ RunningCenterData[1].label }}</div> -->
|
||||
<div class="label">{{ RunningCenterData[1][language] }}</div>
|
||||
<div class="value">{{ RunningCenterData[1].value }}</div>
|
||||
|
||||
<div v-if="language === 'en'" class="label">{{ RunningCenterData[2].englabel }}</div>
|
||||
<div v-else class="label">{{ RunningCenterData[2].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="label">{{ RunningCenterData[2].englabel }}</div>
|
||||
<div v-else class="label">{{ RunningCenterData[2].label }}</div> -->
|
||||
<div class="label">{{ RunningCenterData[2][language] }}</div>
|
||||
<div class="value">{{ RunningCenterData[2].value }}</div>
|
||||
</div>
|
||||
<div class="center">
|
||||
<div class="value">{{ RunningCenterData[0].value }}</div>
|
||||
<div v-if="language === 'en'" class="label">{{ RunningCenterData[0].englabel }}</div>
|
||||
<div v-else class="label">{{ RunningCenterData[0].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="label">{{ RunningCenterData[0].englabel }}</div>
|
||||
<div v-else class="label">{{ RunningCenterData[0].label }}</div> -->
|
||||
<div class="label">{{ RunningCenterData[0][language] }}</div>
|
||||
<div class="label">(kWh)</div>
|
||||
</div>
|
||||
<div class="left">
|
||||
<div v-if="language === 'en'" class="label">{{ RunningCenterData[3].englabel }}</div>
|
||||
<div v-else class="label">{{ RunningCenterData[3].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="label">{{ RunningCenterData[3].englabel }}</div>
|
||||
<div v-else class="label">{{ RunningCenterData[3].label }}</div> -->
|
||||
<div class="label">{{ RunningCenterData[3][language] }}</div>
|
||||
<div class="value">{{ RunningCenterData[3].value }}</div>
|
||||
|
||||
<div v-if="language === 'en'" class="label">{{ RunningCenterData[4].englabel }}</div>
|
||||
<div v-else class="label">{{ RunningCenterData[4].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="label">{{ RunningCenterData[4].englabel }}</div>
|
||||
<div v-else class="label">{{ RunningCenterData[4].label }}</div> -->
|
||||
<div class="label">{{ RunningCenterData[4][language] }}</div>
|
||||
<div class="value">{{ RunningCenterData[4].value }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="zhengxiang">
|
||||
<div class="left">
|
||||
<div v-if="language === 'en'" class="label">{{ RunningCenterData[6].englabel }}</div>
|
||||
<div v-else class="label">{{ RunningCenterData[6].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="label">{{ RunningCenterData[6].englabel }}</div>
|
||||
<div v-else class="label">{{ RunningCenterData[6].label }}</div> -->
|
||||
<div class="label">{{ RunningCenterData[6][language] }}</div>
|
||||
<div class="value">{{ RunningCenterData[6].value }}</div>
|
||||
|
||||
<div v-if="language === 'en'" class="label">{{ RunningCenterData[7].englabel }}</div>
|
||||
<div v-else class="label">{{ RunningCenterData[7].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="label">{{ RunningCenterData[7].englabel }}</div>
|
||||
<div v-else class="label">{{ RunningCenterData[7].label }}</div> -->
|
||||
<div class="label">{{ RunningCenterData[7][language] }}</div>
|
||||
<div class="value">{{ RunningCenterData[7].value }}</div>
|
||||
</div>
|
||||
<div class="center">
|
||||
<div class="value">{{ RunningCenterData[5].value }}</div>
|
||||
<div v-if="language === 'en'" class="label">{{ RunningCenterData[5].englabel }}</div>
|
||||
<div v-else class="label">{{ RunningCenterData[5].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="label">{{ RunningCenterData[5].englabel }}</div>
|
||||
<div v-else class="label">{{ RunningCenterData[5].label }}</div> -->
|
||||
<div class="label">{{ RunningCenterData[5][language] }}</div>
|
||||
<div class="label">(kWh)</div>
|
||||
</div>
|
||||
<div class="left">
|
||||
<div v-if="language === 'en'" class="label">{{ RunningCenterData[8].englabel }}</div>
|
||||
<div v-else class="label">{{ RunningCenterData[8].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="label">{{ RunningCenterData[8].englabel }}</div>
|
||||
<div v-else class="label">{{ RunningCenterData[8].label }}</div> -->
|
||||
<div class="label">{{ RunningCenterData[8][language] }}</div>
|
||||
<div class="value">{{ RunningCenterData[8].value }}</div>
|
||||
|
||||
<div v-if="language === 'en'" class="label">{{ RunningCenterData[9].englabel }}</div>
|
||||
<div v-else class="label">{{ RunningCenterData[9].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="label">{{ RunningCenterData[9].englabel }}</div>
|
||||
<div v-else class="label">{{ RunningCenterData[9].label }}</div> -->
|
||||
<div class="label">{{ RunningCenterData[9][language] }}</div>
|
||||
<div class="value">{{ RunningCenterData[9].value }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="yougonglv-wrap">
|
||||
<div class="top">
|
||||
<div v-if="language === 'en'" class="name">{{ RunningBottomData[0].englabel }}</div>
|
||||
<div v-else class="name">{{ RunningBottomData[0].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ RunningBottomData[0].englabel }}</div>
|
||||
<div v-else class="name">{{ RunningBottomData[0].label }}</div> -->
|
||||
<div class="name">{{ RunningBottomData[0][language] }}</div>
|
||||
|
||||
<div class="top-value">
|
||||
<span class="value">{{ RunningBottomData[0].value }}</span>
|
||||
@ -72,18 +84,21 @@
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="item">
|
||||
<div v-if="language === 'en'" class="name">{{ RunningBottomData[1].englabel }}</div>
|
||||
<div v-else class="name">{{ RunningBottomData[1].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ RunningBottomData[1].englabel }}</div>
|
||||
<div v-else class="name">{{ RunningBottomData[1].label }}</div> -->
|
||||
<div class="name">{{ RunningBottomData[1][language] }}</div>
|
||||
<span class="value">{{ RunningBottomData[1].value }}</span>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div v-if="language === 'en'" class="name">{{ RunningBottomData[2].englabel }}</div>
|
||||
<div v-else class="name">{{ RunningBottomData[2].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ RunningBottomData[2].englabel }}</div>
|
||||
<div v-else class="name">{{ RunningBottomData[2].label }}</div> -->
|
||||
<div class="name">{{ RunningBottomData[2][language] }}</div>
|
||||
<div class="value">{{ RunningBottomData[2].value }}</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div v-if="language === 'en'" class="name">{{ RunningBottomData[3].englabel }}</div>
|
||||
<div v-else class="name">{{ RunningBottomData[3].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ RunningBottomData[3].englabel }}</div>
|
||||
<div v-else class="name">{{ RunningBottomData[3].label }}</div> -->
|
||||
<div class="name">{{ RunningBottomData[3][language] }}</div>
|
||||
<div class="value">{{ RunningBottomData[3].value }}</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -91,8 +106,9 @@
|
||||
|
||||
<div class="yougonglv-wrap wugonglv">
|
||||
<div class="top">
|
||||
<div v-if="language === 'en'" class="name">{{ RunningBottomData[4].englabel }}</div>
|
||||
<div v-else class="name">{{ RunningBottomData[4].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ RunningBottomData[4].englabel }}</div>
|
||||
<div v-else class="name">{{ RunningBottomData[4].label }}</div> -->
|
||||
<div class="name">{{ RunningBottomData[4][language] }}</div>
|
||||
<div class="top-value">
|
||||
<span class="value">{{ RunningBottomData[4].value }}</span>
|
||||
<span class="unit">Var</span>
|
||||
@ -100,26 +116,30 @@
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="item">
|
||||
<div v-if="language === 'en'" class="name">{{ RunningBottomData[5].englabel }}</div>
|
||||
<div v-else class="name">{{ RunningBottomData[5].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ RunningBottomData[5].englabel }}</div>
|
||||
<div v-else class="name">{{ RunningBottomData[5].label }}</div> -->
|
||||
<div class="name">{{ RunningBottomData[5][language] }}</div>
|
||||
<span class="value">{{ RunningBottomData[5].value }}</span>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div v-if="language === 'en'" class="name">{{ RunningBottomData[6].englabel }}</div>
|
||||
<div v-else class="name">{{ RunningBottomData[6].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ RunningBottomData[6].englabel }}</div>
|
||||
<div v-else class="name">{{ RunningBottomData[6].label }}</div> -->
|
||||
<div class="name">{{ RunningBottomData[6][language] }}</div>
|
||||
<div class="value">{{ RunningBottomData[6].value }}</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div v-if="language === 'en'" class="name">{{ RunningBottomData[7].englabel }}</div>
|
||||
<div v-else class="name">{{ RunningBottomData[7].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ RunningBottomData[7].englabel }}</div>
|
||||
<div v-else class="name">{{ RunningBottomData[7].label }}</div> -->
|
||||
<div class="name">{{ RunningBottomData[7][language] }}</div>
|
||||
<div class="value">{{ RunningBottomData[7].value }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="yougonglv-wrap wugonglv">
|
||||
<div class="top">
|
||||
<div v-if="language === 'en'" class="name">{{ RunningBottomData[8].englabel }}</div>
|
||||
<div v-else class="name">{{ RunningBottomData[8].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ RunningBottomData[8].englabel }}</div>
|
||||
<div v-else class="name">{{ RunningBottomData[8].label }}</div> -->
|
||||
<div class="name">{{ RunningBottomData[8][language] }}</div>
|
||||
<div class="top-value">
|
||||
<span class="value">{{ RunningBottomData[8].value }}</span>
|
||||
<span class="unit" />
|
||||
@ -127,18 +147,21 @@
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="item">
|
||||
<div v-if="language === 'en'" class="name">{{ RunningBottomData[9].englabel }}</div>
|
||||
<div v-else class="name">{{ RunningBottomData[9].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ RunningBottomData[9].englabel }}</div>
|
||||
<div v-else class="name">{{ RunningBottomData[9].label }}</div> -->
|
||||
<div class="name">{{ RunningBottomData[9][language] }}</div>
|
||||
<span class="value">{{ RunningBottomData[9].value }}</span>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div v-if="language === 'en'" class="name">{{ RunningBottomData[10].englabel }}</div>
|
||||
<div v-else class="name">{{ RunningBottomData[10].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ RunningBottomData[10].englabel }}</div>
|
||||
<div v-else class="name">{{ RunningBottomData[10].label }}</div> -->
|
||||
<div class="name">{{ RunningBottomData[10][language] }}</div>
|
||||
<div class="value">{{ RunningBottomData[10].value }}</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div v-if="language === 'en'" class="name">{{ RunningBottomData[1].englabel }}</div>
|
||||
<div v-else class="name">{{ RunningBottomData[1].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ RunningBottomData[1].englabel }}</div>
|
||||
<div v-else class="name">{{ RunningBottomData[1].label }}</div> -->
|
||||
<div class="name">{{ RunningBottomData[1][language] }}</div>
|
||||
<div class="value">{{ RunningBottomData[11].value }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,192 +1,410 @@
|
||||
export const RunningTopData = [
|
||||
|
||||
{
|
||||
label: 'A相电压(V)',
|
||||
englabel: 'Phase A voltage(V)',
|
||||
englabel: 'Phase A Voltage (V)',
|
||||
zh_CN: 'A相电压(V)',
|
||||
en_US: 'Phase A Voltage (V)',
|
||||
es_ES: 'Tensión de fase A (V)',
|
||||
fr_FR: 'Tension de phase A (V)',
|
||||
de_DE: 'Phase-A-Spannung (V)',
|
||||
pl_PL: 'L1 – napięcie (V)',
|
||||
ar_EG: 'جهد الطور (V)A',
|
||||
field: 'Ua',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'A相电流(A)',
|
||||
englabel: 'Phase A current(A)',
|
||||
englabel: 'Phase A Current (A)',
|
||||
zh_CN: 'A相电流(A)',
|
||||
en_US: 'Phase A Current (A)',
|
||||
es_ES: 'Corriente de fase A (A)',
|
||||
fr_FR: 'Courant de phase A (A)',
|
||||
de_DE: 'Phase-A-Strom (A)',
|
||||
pl_PL: 'L1 – prąd (A)',
|
||||
ar_EG: 'تيار الطور (A)A',
|
||||
field: 'Ia',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'B相电压(V)',
|
||||
englabel: 'Phase B voltage(V)',
|
||||
englabel: 'Phase B Voltage (V)',
|
||||
zh_CN: 'B相电压(V)',
|
||||
en_US: 'Phase B Voltage (V)',
|
||||
es_ES: 'Tensión de fase B (V)',
|
||||
fr_FR: 'Tension de phase B (V)',
|
||||
de_DE: 'Phase-B-Spannung (V)',
|
||||
pl_PL: 'L2 – napięcie (V)',
|
||||
ar_EG: 'جهد الطور (V)B',
|
||||
field: 'Ub',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'B相电流(A)',
|
||||
englabel: 'Phase B current(A)',
|
||||
englabel: 'Phase B Current (A)',
|
||||
zh_CN: 'B相电流(A)',
|
||||
en_US: 'Phase B Current (A)',
|
||||
es_ES: 'Corriente de fase B (A)',
|
||||
fr_FR: 'Courant de phase B (A)',
|
||||
de_DE: 'Phase-B-Strom (A)',
|
||||
pl_PL: 'L2 – prąd (A)',
|
||||
ar_EG: 'تيار الطور (A)B',
|
||||
field: 'Ib',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'C相电压(V)',
|
||||
englabel: 'Phase C voltage(A)',
|
||||
englabel: 'Phase C Voltage (V)',
|
||||
zh_CN: 'C相电压(V)',
|
||||
en_US: 'Phase C Voltage (V)',
|
||||
es_ES: 'Tensión de fase C (V)',
|
||||
fr_FR: 'Tension de phase C (V)',
|
||||
de_DE: 'Phase-C-Spannung (V)',
|
||||
pl_PL: 'L3 – napięcie (V)',
|
||||
ar_EG: 'جهد الطور (V)C',
|
||||
field: 'Uc',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'C相电流(A)',
|
||||
englabel: 'Phase C current(A)',
|
||||
englabel: 'Phase C Current (A)',
|
||||
zh_CN: 'C相电流(A)',
|
||||
en_US: 'Phase C Current (A)',
|
||||
es_ES: 'Corriente de fase C (A)',
|
||||
fr_FR: 'Courant de phase A (A)',
|
||||
de_DE: 'Phase-C-Strom (A)',
|
||||
pl_PL: 'L3 – prąd (A)',
|
||||
ar_EG: 'تيار الطور (A)C',
|
||||
field: 'Ic',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'AB线电压(V)',
|
||||
englabel: 'AB line voltage(V)',
|
||||
englabel: 'Line Voltage AB (V)',
|
||||
zh_CN: 'AB线电压(V)',
|
||||
en_US: 'Line Voltage AB (V)',
|
||||
es_ES: 'Tensión de línea AB (V)',
|
||||
fr_FR: 'Tension de câble AB (V)',
|
||||
de_DE: 'Leiterspannung AB (V)',
|
||||
pl_PL: 'L1-L2 – napięcie międzyfazowe (V)',
|
||||
ar_EG: 'جهد الخط (V)AB',
|
||||
field: 'Uab',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'BC线电压(V)',
|
||||
englabel: 'BC line voltage(V)',
|
||||
englabel: 'Line Voltage BC (V)',
|
||||
zh_CN: 'BC线电压(V)',
|
||||
en_US: 'Line Voltage BC (V)',
|
||||
es_ES: 'Tensión de línea BC (V)',
|
||||
fr_FR: 'Tension de câble BC (V)',
|
||||
de_DE: 'Leiterspannung BC (V)',
|
||||
pl_PL: 'L2-L3 – napięcie międzyfazowe (V)',
|
||||
ar_EG: 'جهد الخط (V)BC',
|
||||
field: 'Ubc',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'CA线电压(V)',
|
||||
englabel: 'CA line voltage(V)',
|
||||
englabel: 'Line Voltage CA (V)',
|
||||
zh_CN: 'CA线电压(V)',
|
||||
en_US: 'Line Voltage CA (V)',
|
||||
es_ES: 'Tensión de línea CA (V)',
|
||||
fr_FR: 'Tension de câble CA (V)',
|
||||
de_DE: 'Leiterspannung CA (V)',
|
||||
pl_PL: 'L3-L1 – napięcie międzyfazowe (V)',
|
||||
ar_EG: 'جهد الخط (V)CA',
|
||||
field: 'Uca',
|
||||
value: ''
|
||||
}
|
||||
]
|
||||
|
||||
export const RunningCenterData = [
|
||||
{
|
||||
label: '正向有功总电量',
|
||||
englabel: 'Total positive active power',
|
||||
englabel: 'Total Forward Active Energy',
|
||||
zh_CN: '正向有功总电量',
|
||||
en_US: 'Total Forward Active Energy',
|
||||
es_ES: 'Energía activa total positiva',
|
||||
fr_FR: 'Énergie active positive totale',
|
||||
de_DE: 'Gesamt-Wirkenergie Vorwärts',
|
||||
pl_PL: 'Całkowita energia czynna pobrana',
|
||||
ar_EG: 'إجمالي الطاقة الفعالة الأمامية',
|
||||
field: 'totalCharge',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '电量(尖)',
|
||||
englabel: 'Electricity(sharp)',
|
||||
englabel: 'Energy (Peak)',
|
||||
zh_CN: '电量(尖)',
|
||||
en_US: 'Energy (Peak)',
|
||||
es_ES: 'Energía (pico extremo)',
|
||||
fr_FR: 'Énergie (pointe)',
|
||||
de_DE: 'Energie (Spitze)',
|
||||
pl_PL: 'Energia (szczytowa)',
|
||||
ar_EG: 'الطاقة (أوقات الذروة)',
|
||||
field: 'forwardActE1',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '电量(峰)',
|
||||
englabel: 'Electricity(peak)',
|
||||
englabel: 'Energy (Peak Hours)',
|
||||
zh_CN: '电量(峰)',
|
||||
en_US: 'Energy (Peak Hours)',
|
||||
es_ES: 'Energía (pico)',
|
||||
fr_FR: 'Énergie (heures de pointe)',
|
||||
de_DE: 'Energie (Spitzenzeit)',
|
||||
pl_PL: 'Energia (godziny szczytowe)',
|
||||
ar_EG: 'الطاقة (ساعات الذروة)',
|
||||
field: 'forwardActE2',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '电量(平)',
|
||||
englabel: 'Electricity(flat)',
|
||||
englabel: 'Energy (Normal)',
|
||||
zh_CN: '电量(平)',
|
||||
en_US: 'Energy (Normal)',
|
||||
es_ES: 'Energía (llano)',
|
||||
fr_FR: 'Énergie (Pleine)',
|
||||
de_DE: 'Energie (Normal)',
|
||||
pl_PL: 'Energia (normalna)',
|
||||
ar_EG: 'الطاقة (العادية)',
|
||||
field: 'forwardActE3',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '电量(谷)',
|
||||
englabel: 'Electricity(valley)',
|
||||
englabel: 'Energy (Off-Peak)',
|
||||
zh_CN: '电量(谷)',
|
||||
en_US: 'Energy (Off-Peak)',
|
||||
es_ES: 'Energía (valle)',
|
||||
fr_FR: 'Énergie (Creuse)',
|
||||
de_DE: 'Energie (Nebenzeit)',
|
||||
pl_PL: 'Energia (pozaszczytowa)',
|
||||
ar_EG: 'الطاقة (خارج أوقات الذروة)',
|
||||
field: 'forwardActE4',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '反向有功总电量',
|
||||
englabel: 'Reverse total active power',
|
||||
englabel: 'Total Reverse Active Energy',
|
||||
zh_CN: '反向有功总电量',
|
||||
en_US: 'Total Reverse Active Energy',
|
||||
es_ES: 'Energía activa total negativa',
|
||||
fr_FR: 'Énergie active inverse totale',
|
||||
de_DE: 'Gesamt-Wirkenergie Rückwärts',
|
||||
pl_PL: 'Całkowita energia czynna oddana',
|
||||
ar_EG: 'إجمالي الطاقة الفعالة العكسية',
|
||||
field: 'totalDischarge',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '电量(尖)',
|
||||
englabel: 'Electricity(sharp)',
|
||||
englabel: 'Energy (Peak)',
|
||||
zh_CN: '电量(尖)',
|
||||
en_US: 'Energy (Peak)',
|
||||
es_ES: 'Energía (pico extremo)',
|
||||
fr_FR: 'Énergie (pointe)',
|
||||
de_DE: 'Energie (Spitze)',
|
||||
pl_PL: 'Energia (szczytowa)',
|
||||
ar_EG: 'الطاقة (أوقات الذروة)',
|
||||
field: 'backwardActE1',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '电量(峰)',
|
||||
englabel: 'Electricity(peak)',
|
||||
englabel: 'Energy (Peak Hours)',
|
||||
zh_CN: '电量(峰)',
|
||||
en_US: 'Energy (Peak Hours)',
|
||||
es_ES: 'Energía (pico)',
|
||||
fr_FR: 'Énergie (heures de pointe)',
|
||||
de_DE: 'Energie (Spitzenzeit)',
|
||||
pl_PL: 'Energia (godziny szczytowe)',
|
||||
ar_EG: 'الطاقة (ساعات الذروة)',
|
||||
field: 'backwardActE2',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '电量(平)',
|
||||
englabel: 'Electricity(flat)',
|
||||
englabel: 'Energy (Normal)',
|
||||
zh_CN: '电量(平)',
|
||||
en_US: 'Energy (Normal)',
|
||||
es_ES: 'Energía (llano)',
|
||||
fr_FR: 'Énergie (Pleine)',
|
||||
de_DE: 'Energie (Normal)',
|
||||
pl_PL: 'Energia (normalna)',
|
||||
ar_EG: 'الطاقة (العادية)',
|
||||
field: 'backwardActE3',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '电量(谷)',
|
||||
englabel: 'Electricity(valley)',
|
||||
englabel: 'Energy (Off-Peak)',
|
||||
zh_CN: '电量(谷)',
|
||||
en_US: 'Energy (Off-Peak)',
|
||||
es_ES: 'Energía (valle)',
|
||||
fr_FR: 'Énergie (Creuse)',
|
||||
de_DE: 'Energie (Nebenzeit)',
|
||||
pl_PL: 'Energia (pozaszczytowa)',
|
||||
ar_EG: 'الطاقة (خارج أوقات الذروة)',
|
||||
field: 'backwardActE4',
|
||||
value: ''
|
||||
}
|
||||
]
|
||||
|
||||
export const RunningBottomData = [
|
||||
{
|
||||
label: '合相有功功率',
|
||||
englabel: 'Combined active power',
|
||||
englabel: 'Active Power at Connection',
|
||||
zh_CN: '合相有功功率',
|
||||
en_US: 'Active Power at Connection',
|
||||
es_ES: 'Potencia activa trifásica combinada',
|
||||
fr_FR: "Puissance active d'enclenchement",
|
||||
de_DE: 'Wirkleistung am Anschluss',
|
||||
pl_PL: 'Moc czynna w punkcie przyłączenia',
|
||||
ar_EG: 'القدرة الفعالة عند الاتصال',
|
||||
field: 'activePower',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'A相',
|
||||
englabel: 'A phase',
|
||||
englabel: 'Phase A',
|
||||
zh_CN: 'A相',
|
||||
en_US: 'Phase A',
|
||||
es_ES: 'Fase A',
|
||||
fr_FR: 'Phase A',
|
||||
de_DE: 'Phase A',
|
||||
pl_PL: 'Faza A',
|
||||
ar_EG: 'الطور A',
|
||||
field: 'activePowerA',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'B相',
|
||||
englabel: 'B phase',
|
||||
englabel: 'Phase B',
|
||||
zh_CN: 'B相',
|
||||
en_US: 'Phase B',
|
||||
es_ES: 'Fase B',
|
||||
fr_FR: 'Phase B',
|
||||
de_DE: 'Phase B',
|
||||
pl_PL: 'Faza B',
|
||||
ar_EG: 'الطور B',
|
||||
field: 'activePowerB',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'C相',
|
||||
englabel: 'C phase',
|
||||
englabel: 'Phase C',
|
||||
zh_CN: 'C相',
|
||||
en_US: 'Phase C',
|
||||
es_ES: 'Fase C',
|
||||
fr_FR: 'Phase C',
|
||||
de_DE: 'Phase C',
|
||||
pl_PL: 'Faza C',
|
||||
ar_EG: 'الطور C',
|
||||
field: 'activePowerC',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '合相无功功率',
|
||||
englabel: 'Phase reactive power',
|
||||
englabel: 'Reactive Power at Connection',
|
||||
zh_CN: '合相无功功率',
|
||||
en_US: 'Reactive Power at Connection',
|
||||
es_ES: 'Potencia reactiva trifásica combinada',
|
||||
fr_FR: "Puissance réactive d'enclenchement",
|
||||
de_DE: 'Blindleistung am Anschluss',
|
||||
pl_PL: 'Moc bierna w punkcie przyłączenia',
|
||||
ar_EG: 'القدرة غير الفعالة عند الاتصال',
|
||||
field: 'reactivePower',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'A相',
|
||||
englabel: 'A phase',
|
||||
englabel: 'Phase A',
|
||||
zh_CN: 'A相',
|
||||
en_US: 'Phase A',
|
||||
es_ES: 'Fase A',
|
||||
fr_FR: 'Phase A',
|
||||
de_DE: 'Phase A',
|
||||
pl_PL: 'Faza A',
|
||||
ar_EG: 'الطور A',
|
||||
field: 'reactivePowerA',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'B相',
|
||||
englabel: 'B phase',
|
||||
englabel: 'Phase B',
|
||||
zh_CN: 'B相',
|
||||
en_US: 'Phase B',
|
||||
es_ES: 'Fase B',
|
||||
fr_FR: 'Phase B',
|
||||
de_DE: 'Phase B',
|
||||
pl_PL: 'Faza B',
|
||||
ar_EG: 'الطور B',
|
||||
field: 'reactivePowerB',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'C相',
|
||||
englabel: 'C phase',
|
||||
englabel: 'Phase C',
|
||||
zh_CN: 'C相',
|
||||
en_US: 'Phase C',
|
||||
es_ES: 'Fase C',
|
||||
fr_FR: 'Phase C',
|
||||
de_DE: 'Phase C',
|
||||
pl_PL: 'Faza C',
|
||||
ar_EG: 'الطور C',
|
||||
field: 'reactivePowerC',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '合相功率因数',
|
||||
englabel: 'Phase power factor',
|
||||
englabel: 'Power Factor at Connection',
|
||||
zh_CN: '合相功率因数',
|
||||
en_US: 'Power Factor at Connection',
|
||||
es_ES: 'Factor de potencia trifásico combinado',
|
||||
fr_FR: "Facteur de puissance d'enclenchement",
|
||||
de_DE: 'Leistungsfaktor am Anschluss',
|
||||
pl_PL: 'Współczynnik mocy w punkcie przyłączenia',
|
||||
ar_EG: 'معامل القدرة عند الاتصال',
|
||||
field: 'PFactor',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'A相',
|
||||
englabel: 'A phase',
|
||||
englabel: 'Phase A',
|
||||
zh_CN: 'A相',
|
||||
en_US: 'Phase A',
|
||||
es_ES: 'Fase A',
|
||||
fr_FR: 'Phase A',
|
||||
de_DE: 'Phase A',
|
||||
pl_PL: 'Faza A',
|
||||
ar_EG: 'الطور A',
|
||||
field: 'PFactorA',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'B相',
|
||||
englabel: 'B phase',
|
||||
englabel: 'Phase B',
|
||||
zh_CN: 'B相',
|
||||
en_US: 'Phase B',
|
||||
es_ES: 'Fase B',
|
||||
fr_FR: 'Phase B',
|
||||
de_DE: 'Phase B',
|
||||
pl_PL: 'Faza B',
|
||||
ar_EG: 'الطور B',
|
||||
field: 'PFactorB',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'C相',
|
||||
englabel: 'C phase',
|
||||
englabel: 'Phase C',
|
||||
zh_CN: 'C相',
|
||||
en_US: 'Phase C',
|
||||
es_ES: 'Fase C',
|
||||
fr_FR: 'Phase C',
|
||||
de_DE: 'Phase C',
|
||||
pl_PL: 'Faza C',
|
||||
ar_EG: 'الطور C',
|
||||
field: 'PFactorC',
|
||||
value: ''
|
||||
}
|
||||
|
||||
@ -6,8 +6,9 @@
|
||||
<div class="box">
|
||||
|
||||
<div v-for="item in xfcRunData2" :key="item.key" class="small-box">
|
||||
<div v-if="language === 'en'" class="top-title">{{ item.englabel }}</div>
|
||||
<div v-else class="top-title">{{ item.label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="top-title">{{ item.englabel }}</div>
|
||||
<div v-else class="top-title">{{ item.label }}</div> -->
|
||||
<div class="top-title">{{ item[language] }}</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@ -4,8 +4,9 @@
|
||||
<div v-loading="loading" class="center-top-container">
|
||||
<div class="box">
|
||||
<div v-for="(item) in xfcData" :key="item.label" class="small-box">
|
||||
<div v-if="language === 'en'" class="top-title">{{ item.englabel }}</div>
|
||||
<div v-else class="top-title">{{ item.label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="top-title">{{ item.englabel }}</div>
|
||||
<div v-else class="top-title">{{ item.label }}</div> -->
|
||||
<div class="top-title">{{ item[language] }}</div>
|
||||
<div class="value-box">
|
||||
<div class="value-small border-right border-bottom">
|
||||
<div :class="item.value1 ? 'error-value' : 'value'">{{ $t('pcs.alarm') }}</div>
|
||||
|
||||
@ -1,103 +1,151 @@
|
||||
export const xfcData = [
|
||||
{
|
||||
englabel: 'Detector1',
|
||||
englabel: 'Detector 1',
|
||||
label: '探测器1',
|
||||
zh_CN: '探测器1',
|
||||
en_US: 'Detector 1',
|
||||
es_ES: 'Detector N°1',
|
||||
fr_FR: 'Détecteur 1',
|
||||
de_DE: 'Detektor 1',
|
||||
pl_PL: 'Czujnik 1',
|
||||
ar_EG: 'كاشف ١',
|
||||
field1: 'fireAlarm1',
|
||||
field2: 'fireFailure1',
|
||||
field3: 'firePolice1',
|
||||
field4: 'fireTemperature1',
|
||||
|
||||
value1: '',
|
||||
value2: '',
|
||||
value3: '',
|
||||
value4: ''
|
||||
},
|
||||
{
|
||||
englabel: 'Detector2',
|
||||
englabel: 'Detector 2',
|
||||
label: '探测器2',
|
||||
zh_CN: '探测器2',
|
||||
en_US: 'Detector 2',
|
||||
es_ES: 'Detector N°2',
|
||||
fr_FR: 'Détecteur 2',
|
||||
de_DE: 'Detektor 2',
|
||||
pl_PL: 'Czujnik 2',
|
||||
ar_EG: 'كاشف ٢',
|
||||
field1: 'fireAlarm2',
|
||||
field2: 'fireFailure2',
|
||||
field3: 'firePolice2',
|
||||
field4: 'fireTemperature2',
|
||||
|
||||
value1: '',
|
||||
value2: '',
|
||||
value3: '',
|
||||
value4: ''
|
||||
},
|
||||
{
|
||||
englabel: 'Detector3',
|
||||
englabel: 'Detector 3',
|
||||
label: '探测器3',
|
||||
zh_CN: '探测器3',
|
||||
en_US: 'Detector 3',
|
||||
es_ES: 'Detector N°3',
|
||||
fr_FR: 'Détecteur 3',
|
||||
de_DE: 'Detektor 3',
|
||||
pl_PL: 'Czujnik 3',
|
||||
ar_EG: 'كاشف ٣',
|
||||
field1: 'fireAlarm3',
|
||||
field2: 'fireFailure3',
|
||||
field3: 'firePolice3',
|
||||
field4: 'fireTemperature3',
|
||||
|
||||
value1: '',
|
||||
value2: '',
|
||||
value3: '',
|
||||
value4: ''
|
||||
},
|
||||
{
|
||||
englabel: 'Detector4',
|
||||
englabel: 'Detector 4',
|
||||
label: '探测器4',
|
||||
zh_CN: '探测器4',
|
||||
en_US: 'Detector 4',
|
||||
es_ES: 'Detector N°4',
|
||||
fr_FR: 'Détecteur 4',
|
||||
de_DE: 'Detektor 4',
|
||||
pl_PL: 'Czujnik 4',
|
||||
ar_EG: 'كاشف ٤',
|
||||
field1: 'fireAlarm4',
|
||||
field2: 'fireFailure4',
|
||||
field3: 'firePolice4',
|
||||
field4: 'fireTemperature4',
|
||||
|
||||
value1: '',
|
||||
value2: '',
|
||||
value3: '',
|
||||
value4: ''
|
||||
},
|
||||
{
|
||||
englabel: 'Detector5',
|
||||
englabel: 'Detector 5',
|
||||
label: '探测器5',
|
||||
zh_CN: '探测器5',
|
||||
en_US: 'Detector 5',
|
||||
es_ES: 'Detector N°5',
|
||||
fr_FR: 'Détecteur 5',
|
||||
de_DE: 'Detektor 5',
|
||||
pl_PL: 'Czujnik 5',
|
||||
ar_EG: 'كاشف ٥',
|
||||
field1: 'fireAlarm5',
|
||||
field2: 'fireFailure5',
|
||||
field3: 'firePolice5',
|
||||
field4: 'fireTemperature5',
|
||||
|
||||
value1: '',
|
||||
value2: '',
|
||||
value3: '',
|
||||
value4: ''
|
||||
},
|
||||
{
|
||||
englabel: 'Detector6',
|
||||
englabel: 'Detector 6',
|
||||
label: '探测器6',
|
||||
zh_CN: '探测器6',
|
||||
en_US: 'Detector 6',
|
||||
es_ES: 'Detector N°6',
|
||||
fr_FR: 'Détecteur 6',
|
||||
de_DE: 'Detektor 6',
|
||||
pl_PL: 'Czujnik 6',
|
||||
ar_EG: 'كاشف ٦',
|
||||
field1: 'fireAlarm6',
|
||||
field2: 'fireFailure6',
|
||||
field3: 'firePolice6',
|
||||
field4: 'fireTemperature6',
|
||||
|
||||
value1: '',
|
||||
value2: '',
|
||||
value3: '',
|
||||
value4: ''
|
||||
},
|
||||
{
|
||||
englabel: 'Detector7',
|
||||
englabel: 'Detector 7',
|
||||
label: '探测器7',
|
||||
zh_CN: '探测器7',
|
||||
en_US: 'Detector 7',
|
||||
es_ES: 'Detector N°7',
|
||||
fr_FR: 'Détecteur 7',
|
||||
de_DE: 'Detektor 7',
|
||||
pl_PL: 'Czujnik 7',
|
||||
ar_EG: 'كاشف ٧',
|
||||
field1: 'fireAlarm7',
|
||||
field2: 'fireFailure7',
|
||||
field3: 'firePolice7',
|
||||
field4: 'fireTemperature7',
|
||||
|
||||
value1: '',
|
||||
value2: '',
|
||||
value3: '',
|
||||
value4: ''
|
||||
},
|
||||
{
|
||||
englabel: 'Detector8',
|
||||
englabel: 'Detector 8',
|
||||
label: '探测器8',
|
||||
zh_CN: '探测器8',
|
||||
en_US: 'Detector 8',
|
||||
es_ES: 'Detector N°8',
|
||||
fr_FR: 'Détecteur 8',
|
||||
de_DE: 'Detektor 8',
|
||||
pl_PL: 'Czujnik 8',
|
||||
ar_EG: 'كاشف ٨',
|
||||
field1: 'fireAlarm8',
|
||||
field2: 'fireFailure8',
|
||||
field3: 'firePolice8',
|
||||
field4: 'fireTemperature8',
|
||||
|
||||
value1: '',
|
||||
value2: '',
|
||||
value3: '',
|
||||
@ -108,37 +156,79 @@ export const xfcData = [
|
||||
export const xfcRunData2 = [
|
||||
{
|
||||
label: '消防故障',
|
||||
englabel: 'Fire failure',
|
||||
englabel: 'Fire Fault',
|
||||
zh_CN: '消防故障',
|
||||
en_US: 'Fire Fault',
|
||||
es_ES: 'Avería del sistema de protección contra incendios',
|
||||
fr_FR: "Défaut d'incendie",
|
||||
de_DE: 'Brandfehler',
|
||||
pl_PL: 'Awaria systemu pożarowego',
|
||||
ar_EG: 'عطل الحريق',
|
||||
field1: 'fireFailure',
|
||||
value1: ''
|
||||
},
|
||||
{
|
||||
label: '消防报警',
|
||||
englabel: 'Fire alarm',
|
||||
englabel: 'Fire Alarm',
|
||||
zh_CN: '消防报警',
|
||||
en_US: 'Fire Alarm',
|
||||
es_ES: 'Alarma de protección contra incendios',
|
||||
fr_FR: 'Alarme incendie',
|
||||
de_DE: 'Brandalarm',
|
||||
pl_PL: 'Alarm pożarowy',
|
||||
ar_EG: 'إنذار الحريق',
|
||||
field1: 'fireAlarm',
|
||||
value1: ''
|
||||
},
|
||||
{
|
||||
label: '消防温度',
|
||||
englabel: 'Fire temperature',
|
||||
englabel: 'Fire Suppression Temperature',
|
||||
zh_CN: '消防温度',
|
||||
en_US: 'Fire Suppression Temperature',
|
||||
es_ES: 'Temperatura de protección contra incendios',
|
||||
fr_FR: "Température de lutte contre l'incendie",
|
||||
de_DE: 'Löschtemperatur',
|
||||
pl_PL: 'Temperatura aktywacji systemu gaszenia pożaru',
|
||||
ar_EG: 'درجة حرارة إخماد الحريق',
|
||||
field1: 'fireTemperature',
|
||||
value1: ''
|
||||
},
|
||||
{
|
||||
label: '消防火警',
|
||||
englabel: 'Fire alarms',
|
||||
englabel: 'Fire Alert',
|
||||
zh_CN: '消防火警',
|
||||
en_US: 'Fire Alert',
|
||||
es_ES: 'Alerta de incendio',
|
||||
fr_FR: "Alarme d'incendie",
|
||||
de_DE: 'Brandwarnung',
|
||||
pl_PL: 'Ostrzeżenie pożarowe',
|
||||
ar_EG: 'تحذير الحريق',
|
||||
field1: 'firePolice1',
|
||||
value1: ''
|
||||
},
|
||||
{
|
||||
label: '输出状态',
|
||||
englabel: 'Output state',
|
||||
englabel: 'Output Status',
|
||||
zh_CN: '输出状态',
|
||||
en_US: 'Output Status',
|
||||
es_ES: 'Estado de salida',
|
||||
fr_FR: 'État de la sortie',
|
||||
de_DE: 'Ausgangsstatus',
|
||||
pl_PL: 'Stan wyjść',
|
||||
ar_EG: 'حالة الخرج',
|
||||
field1: 'outputState',
|
||||
value1: ''
|
||||
},
|
||||
{
|
||||
label: '输入状态',
|
||||
englabel: 'Input state',
|
||||
englabel: 'Input Status',
|
||||
zh_CN: '输入状态',
|
||||
en_US: 'Input Status',
|
||||
es_ES: 'Estado de entrada',
|
||||
fr_FR: "État de l'entrée",
|
||||
de_DE: 'Eingangsstatus',
|
||||
pl_PL: 'Stan wejść',
|
||||
ar_EG: 'حالة الدخل',
|
||||
field1: 'inputStatus',
|
||||
value1: ''
|
||||
}
|
||||
|
||||
@ -27,14 +27,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
timeLidu: 1,
|
||||
times: [
|
||||
{ label: '1分钟', value: 1 },
|
||||
{ label: '5分钟', value: 5 },
|
||||
{ label: '10分钟', value: 10 },
|
||||
{ label: '15分钟', value: 15 },
|
||||
{ label: '20分钟', value: 20 },
|
||||
{ label: '30分钟', value: 30 }
|
||||
],
|
||||
times: this.$t('pcs.times'),
|
||||
options: {
|
||||
title: {
|
||||
text: this.$t('pcs.noData'),
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="left-bottom-wrap">
|
||||
<ItemBox title="簇总压/SOC">
|
||||
<ItemBox :title="$t('pcs.clusterTotalVol')">
|
||||
|
||||
<div v-loading="loading" class="top-bottom-container">
|
||||
<Chart :options="options" :class-name="'chart'" />
|
||||
@ -19,17 +19,10 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
timeLidu: 1,
|
||||
times: [
|
||||
{ label: '1分钟', value: 1 },
|
||||
{ label: '5分钟', value: 5 },
|
||||
{ label: '10分钟', value: 10 },
|
||||
{ label: '15分钟', value: 15 },
|
||||
{ label: '20分钟', value: 20 },
|
||||
{ label: '30分钟', value: 30 }
|
||||
],
|
||||
times: this.$t('pcs.times'),
|
||||
options: {
|
||||
title: {
|
||||
text: '暂无数据',
|
||||
text: this.$t('pcs.noData'),
|
||||
x: 'center',
|
||||
y: 'center',
|
||||
textStyle: {
|
||||
@ -112,8 +105,8 @@ export default {
|
||||
</div>`
|
||||
})
|
||||
const div = `<div style='border: 1px solid ;
|
||||
border-image: linear-gradient(130deg, #FFFFFF 0%, rgba(201,255,243,0.00) 22%, rgba(201,255,243,0.00) 75%, rgba(201,255,243,0.00) 80%, #FFFFFF 99%, #FFFFFF 99%) 1;
|
||||
box-shadow: inset 0px 2px 16px 0px rgba(0, 148, 255, 0.4);' >${dataStr}</div>`
|
||||
border-image: linear-gradient(130deg, #FFFFFF 0%, rgba(201,255,243,0.00) 22%, rgba(201,255,243,0.00) 75%, rgba(201,255,243,0.00) 80%, #FFFFFF 99%, #FFFFFF 99%) 1;
|
||||
box-shadow: inset 0px 2px 16px 0px rgba(0, 148, 255, 0.4);' >${dataStr}</div>`
|
||||
return div
|
||||
}
|
||||
},
|
||||
@ -136,7 +129,7 @@ box-shadow: inset 0px 2px 16px 0px rgba(0, 148, 255, 0.4);' >${dataStr}</div>`
|
||||
|
||||
{
|
||||
type: 'value',
|
||||
name: '电压(V)',
|
||||
name: this.$t('pcs.vol') + '(V)',
|
||||
axisLabel: {
|
||||
color: '#2d8cf0'
|
||||
},
|
||||
@ -170,7 +163,7 @@ box-shadow: inset 0px 2px 16px 0px rgba(0, 148, 255, 0.4);' >${dataStr}</div>`
|
||||
],
|
||||
series: [
|
||||
{
|
||||
name: '电压',
|
||||
name: this.$t('pcs.vol'),
|
||||
type: 'line',
|
||||
smooth: true,
|
||||
symbol: 'none',
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="center-top-wrap">
|
||||
<ItemBox title="电池簇拓扑图">
|
||||
<ItemBox :title="$t('pcs.batteryClusterTopo')">
|
||||
<div class="center-top-container">
|
||||
<div class="left">
|
||||
<img :src="dianchicu" alt="">
|
||||
@ -13,19 +13,19 @@
|
||||
class="right-content-box"
|
||||
>
|
||||
<div class="title">
|
||||
<span class="title-left">电池组{{ index + 1 }}</span>
|
||||
<span class="title-left">{{ $t('pcs.batteryGroup') }}{{ index + 1 }}</span>
|
||||
<!-- <div class="title-right" @click="seeHistory(index)" /> -->
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="content-box margin-bottom">
|
||||
<span class="d" />
|
||||
<span class="label">电压:</span>
|
||||
<span class="label">{{ $t('pcs.vol') }}:</span>
|
||||
<span class="value">{{ item.volValue === 0 ? '##' : item.volValue }}</span>
|
||||
<span class="unit">V</span>
|
||||
</div>
|
||||
<div class="content-box">
|
||||
<span class="d" />
|
||||
<span class="label">温度:</span>
|
||||
<span class="label">{{ $t('pcs.tem') }}:</span>
|
||||
<span class="value">{{ item.AValue === 0 ? '##' : item.AValue }}</span>
|
||||
<span class="unit">℃</span>
|
||||
</div>
|
||||
@ -36,7 +36,7 @@
|
||||
</ItemBox>
|
||||
<TableChartDialog
|
||||
:is-show.sync="visible"
|
||||
title="电池簇历史数据"
|
||||
:title="$t('pcs.batteryClusterHistoryData')"
|
||||
:col="colValue"
|
||||
:src-id="srcValue"
|
||||
/>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="left-top-wrap">
|
||||
<ItemBox title="运行数据">
|
||||
<ItemBox :title="$t('pcs.runData')">
|
||||
<div v-loading="loading" class="top-left-container">
|
||||
<div class="left">
|
||||
<div
|
||||
@ -10,7 +10,8 @@
|
||||
>
|
||||
<div class="box-title">
|
||||
<div class="title">
|
||||
{{ item.label }}
|
||||
<!-- {{ item.label }} -->
|
||||
{{ item[language] }}
|
||||
<span v-if="item.isMwh">
|
||||
({{ item.value | kwhUnitFormat }})
|
||||
</span>
|
||||
@ -28,10 +29,8 @@
|
||||
<div class="right-second-content">
|
||||
<span class="left">
|
||||
<span class="jt" />
|
||||
<span class="hight-v">平均电压</span>
|
||||
<span class="v-value">{{
|
||||
rightAllData.centerAvgData.AvgV.value
|
||||
}}</span>
|
||||
<span class="hight-v">{{ $t('pcs.avgVol') }}</span>
|
||||
<span class="v-value">{{ rightAllData.centerAvgData.AvgV.value }}</span>
|
||||
<span class="unit">V</span>
|
||||
</span>
|
||||
</div>
|
||||
@ -39,10 +38,8 @@
|
||||
<div class="right-second-content">
|
||||
<span class="left">
|
||||
<span class="jt" />
|
||||
<span class="hight-v">平均温度</span>
|
||||
<span class="v-value">{{
|
||||
rightAllData.centerAvgData.AvgT.value
|
||||
}}</span>
|
||||
<span class="hight-v">{{ $t('pcs.avgTem') }}</span>
|
||||
<span class="v-value">{{ rightAllData.centerAvgData.AvgT.value }}</span>
|
||||
<span class="unit">℃</span>
|
||||
</span>
|
||||
</div>
|
||||
@ -54,7 +51,8 @@
|
||||
:key="item.label"
|
||||
:class="className(item.value)"
|
||||
>
|
||||
<div class="label">{{ item.label }}</div>
|
||||
<!-- <div class="label">{{ item.label }}</div> -->
|
||||
<div class="label">{{ item[language] }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -62,7 +60,7 @@
|
||||
<div class="right-second-content">
|
||||
<span class="left">
|
||||
<span class="jt" />
|
||||
<span class="hight-v">最大电压差</span>
|
||||
<span class="hight-v">{{ $t('pcs.maxvolDiff') }}</span>
|
||||
<span class="v-value">{{
|
||||
(
|
||||
(rightAllData.bottomData.maxVol.value ? rightAllData.bottomData.maxVol.value : '') -
|
||||
@ -77,52 +75,40 @@
|
||||
<div class="right-four">
|
||||
<div class="height-v">
|
||||
<div class="top">
|
||||
<span class="top-title">单体最高电压</span>
|
||||
<span class="top-title">{{ $t('pcs.maxCellVol') }}</span>
|
||||
<span class="top-value">
|
||||
<span class="value">{{
|
||||
rightAllData.bottomData.maxVol.value
|
||||
}}</span>
|
||||
<span class="value">{{ rightAllData.bottomData.maxVol.value }}</span>
|
||||
<span class="unit">V</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<span class="dczh">
|
||||
<span class="dczh-title">电池组号</span>
|
||||
<span class="dczh-value">{{
|
||||
rightAllData.bottomData.maxVol.BMUValue
|
||||
}}</span>
|
||||
<span class="dczh-title">{{ $t('pcs.batteryGroupNum') }}</span>
|
||||
<span class="dczh-value">{{ rightAllData.bottomData.maxVol.BMUValue }}</span>
|
||||
</span>
|
||||
<span class="dxwz">
|
||||
<span class="dxwz-title">电芯位置</span>
|
||||
<span class="dxwz-value">{{
|
||||
rightAllData.bottomData.maxVol.boxValue
|
||||
}}</span>
|
||||
<span class="dxwz-title">{{ $t('pcs.cellPostion') }}</span>
|
||||
<span class="dxwz-value">{{ rightAllData.bottomData.maxVol.boxValue }}</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="low-v">
|
||||
<div class="top">
|
||||
<span class="top-title">单体最低电压</span>
|
||||
<span class="top-title">{{ $t('pcs.minCellVol') }}</span>
|
||||
<span class="top-value">
|
||||
<span class="value">{{
|
||||
rightAllData.bottomData.minVol.value
|
||||
}}</span>
|
||||
<span class="value">{{ rightAllData.bottomData.minVol.value }}</span>
|
||||
<span class="unit">V</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<span class="dczh">
|
||||
<span class="dczh-title">电池组号</span>
|
||||
<span class="dczh-value">{{
|
||||
rightAllData.bottomData.minVol.BMUValue
|
||||
}}</span>
|
||||
<span class="dczh-title">{{ $t('pcs.batteryGroupNum') }}</span>
|
||||
<span class="dczh-value">{{ rightAllData.bottomData.minVol.BMUValue }}</span>
|
||||
</span>
|
||||
<span class="dxwz">
|
||||
<span class="dxwz-title">电芯位置</span>
|
||||
<span class="dxwz-value">{{
|
||||
rightAllData.bottomData.minVol.boxValue
|
||||
}}</span>
|
||||
<span class="dxwz-title">{{ $t('pcs.cellPostion') }}</span>
|
||||
<span class="dxwz-value">{{ rightAllData.bottomData.minVol.boxValue }}</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -131,7 +117,7 @@
|
||||
<div class="right-second-content">
|
||||
<span class="left">
|
||||
<span class="jt" />
|
||||
<span class="hight-v">最大温度差</span>
|
||||
<span class="hight-v">{{ $t('pcs.maxTemDiff') }}</span>
|
||||
<span class="v-value">{{
|
||||
(rightAllData.bottomData.maxTem.value -
|
||||
rightAllData.bottomData.minTmp.value).toFixed(3)
|
||||
@ -142,52 +128,40 @@
|
||||
</div>
|
||||
<div class="height-t">
|
||||
<div class="top">
|
||||
<span class="top-title">单体最高温度</span>
|
||||
<span class="top-title">{{ $t('pcs.maxCellTem') }}</span>
|
||||
<span class="top-value">
|
||||
<span class="value">{{
|
||||
rightAllData.bottomData.maxTem.value
|
||||
}}</span>
|
||||
<span class="value">{{ rightAllData.bottomData.maxTem.value }}</span>
|
||||
<span class="unit">℃</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<span class="dczh">
|
||||
<span class="dczh-title">电池组号</span>
|
||||
<span class="dczh-value">{{
|
||||
rightAllData.bottomData.maxTem.BMUValue
|
||||
}}</span>
|
||||
<span class="dczh-title">{{ $t('pcs.batteryGroupNum') }}</span>
|
||||
<span class="dczh-value">{{ rightAllData.bottomData.maxTem.BMUValue }}</span>
|
||||
</span>
|
||||
<span class="dxwz">
|
||||
<span class="dxwz-title">电芯位置</span>
|
||||
<span class="dxwz-value">{{
|
||||
rightAllData.bottomData.maxTem.boxValue
|
||||
}}</span>
|
||||
<span class="dxwz-title">{{ $t('pcs.cellPostion') }}</span>
|
||||
<span class="dxwz-value">{{ rightAllData.bottomData.maxTem.boxValue }}</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="low-t">
|
||||
<div class="top">
|
||||
<span class="top-title">单体最低温度</span>
|
||||
<span class="top-title">{{ $t('pcs.minCellTem') }}</span>
|
||||
<span class="top-value">
|
||||
<span class="value">{{
|
||||
rightAllData.bottomData.minTmp.value
|
||||
}}</span>
|
||||
<span class="value">{{ rightAllData.bottomData.minTmp.value }}</span>
|
||||
<span class="unit">℃</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<span class="dczh">
|
||||
<span class="dczh-title">电池组号</span>
|
||||
<span class="dczh-value">{{
|
||||
rightAllData.bottomData.minTmp.BMUValue
|
||||
}}</span>
|
||||
<span class="dczh-title">{{ $t('pcs.batteryGroupNum') }}</span>
|
||||
<span class="dczh-value">{{ rightAllData.bottomData.minTmp.BMUValue }}</span>
|
||||
</span>
|
||||
<span class="dxwz">
|
||||
<span class="dxwz-title">电芯位置</span>
|
||||
<span class="dxwz-value">{{
|
||||
rightAllData.bottomData.minTmp.boxValue
|
||||
}}</span>
|
||||
<span class="dxwz-title">{{ $t('pcs.cellPostion') }}</span>
|
||||
<span class="dxwz-value">{{ rightAllData.bottomData.minTmp.boxValue }}</span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@ -239,7 +213,9 @@ export default {
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
||||
language() {
|
||||
return this.$store.getters.language || undefined
|
||||
}
|
||||
},
|
||||
watch: {},
|
||||
created() {
|
||||
@ -310,7 +286,6 @@ export default {
|
||||
this.rightAllData.bottomData.minTmp.value = res.data[this.rightAllData.bottomData.minTmp.field]?.value
|
||||
this.rightAllData.bottomData.minTmp.BMUValue = res.data[this.rightAllData.bottomData.minTmp.BMUField]?.value
|
||||
this.rightAllData.bottomData.minTmp.boxValue = res.data[this.rightAllData.bottomData.minTmp.boxField]?.value
|
||||
console.log(6666, this.rightAllData)
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
} finally {
|
||||
|
||||
@ -1,56 +1,564 @@
|
||||
export const centerBottomData = [
|
||||
{
|
||||
label: '紧急停机',
|
||||
englabel: 'Emergency Stop',
|
||||
zh_CN: '紧急停机',
|
||||
en_US: 'Emergency Stop',
|
||||
es_ES: 'Parada de emergencia',
|
||||
fr_FR: "Arrêt d'urgence",
|
||||
de_DE: 'Not-Aus',
|
||||
pl_PL: 'STOP – wyłącznik awaryjny',
|
||||
ar_EG: 'إيقاف الطوارئ',
|
||||
field: 'eStop',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '直流输入过压',
|
||||
englabel: 'DC Input Overvoltage',
|
||||
zh_CN: '直流输入过压',
|
||||
en_US: 'DC Input Overvoltage',
|
||||
es_ES: 'Sobretensión de entrada de CC',
|
||||
fr_FR: "Surtension d'entrée CC",
|
||||
de_DE: 'DC-Eingangsüberspannung',
|
||||
pl_PL: 'DC – zbyt wysokie napięcie zasilania wejściowego',
|
||||
ar_EG: 'فرط جهد دخل التيار المستمر',
|
||||
field: 'dcInputOverVol',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '直流输入欠压',
|
||||
englabel: 'DC Input Undervoltage',
|
||||
zh_CN: '直流输入欠压',
|
||||
en_US: 'DC Input Undervoltage',
|
||||
es_ES: 'Subtensión de entrada de CC',
|
||||
fr_FR: "Sous-tension d'entrée CC",
|
||||
de_DE: 'DC-Eingangsunterspannung',
|
||||
pl_PL: 'DC – zbyt niskie napięcie zasilania wejściowego',
|
||||
ar_EG: 'انخفاض جهد دخل التيار المستمر',
|
||||
field: 'dcInputDebtVol',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '直流母线过压',
|
||||
englabel: 'DC Bus Overvoltage',
|
||||
zh_CN: '直流母线过压',
|
||||
en_US: 'DC Bus Overvoltage',
|
||||
es_ES: 'Sobretensión de barra de CC',
|
||||
fr_FR: 'Surtension du jeu de barres CC',
|
||||
de_DE: 'DC-Zwischenkreisüberspannung',
|
||||
pl_PL: 'DC – zbyt wysokie napięcie szyny',
|
||||
ar_EG: 'فرط جهد ناقل التيار المستمر المشترك',
|
||||
field: 'dcBusOverVol',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '直流母线欠压',
|
||||
englabel: 'DC Bus Undervoltage',
|
||||
zh_CN: '直流母线欠压',
|
||||
en_US: 'DC Bus Undervoltage',
|
||||
es_ES: 'Subtensión de barra de CC',
|
||||
fr_FR: 'Sous-tension du jeu de barres CC',
|
||||
de_DE: 'DC-Zwischenkreisunterspannung',
|
||||
pl_PL: 'DC – zbyt niskie napięcie szyny',
|
||||
ar_EG: 'انخفاض جهد ناقل التيار المستمر المشترك',
|
||||
field: 'dcBusDebtVol',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '直流母线电压不平衡',
|
||||
englabel: 'DC Bus Voltage Imbalance',
|
||||
zh_CN: '直流母线电压不平衡',
|
||||
en_US: 'DC Bus Voltage Imbalance',
|
||||
es_ES: 'Desequilibrio de voltaje de barra de CC',
|
||||
fr_FR: 'Déséquilibre de tension du jeu de barres CC',
|
||||
de_DE: 'DC-Zwischenkreis-Spannungsungleichgewicht',
|
||||
pl_PL: 'DC – niezrównoważenie napięcia szyny',
|
||||
ar_EG: 'عدم توازن جهد ناقل التيار المستمر المشترك',
|
||||
field: 'dcBusVolImbalance',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '交流母线过压',
|
||||
englabel: 'AC Bus Overvoltage',
|
||||
zh_CN: '交流母线过压',
|
||||
en_US: 'AC Bus Overvoltage',
|
||||
es_ES: 'Sobretensión de barra de CA',
|
||||
fr_FR: 'Surtension du jeu de barres CA',
|
||||
de_DE: 'AC-Netzüberspannung',
|
||||
pl_PL: 'AC – zbyt wysokie napięcie szyny',
|
||||
ar_EG: 'فرط جهد ناقل التيار المتردد',
|
||||
field: 'acBusOverVol',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '交流母线欠压',
|
||||
englabel: 'AC Bus Undervoltage',
|
||||
zh_CN: '交流母线欠压',
|
||||
en_US: 'AC Bus Undervoltage',
|
||||
es_ES: 'Subtensión de barra de CA',
|
||||
fr_FR: 'Sous-tension du jeu de barres CA',
|
||||
de_DE: 'AC-Netzunterspannung',
|
||||
pl_PL: 'AC – zbyt niskie napięcie szyny',
|
||||
ar_EG: 'انخفاض جهد ناقل التيار المتردد',
|
||||
field: 'acBusDebtVol',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '交流母线过频',
|
||||
englabel: 'AC Bus Overfrequency',
|
||||
zh_CN: '交流母线过频',
|
||||
en_US: 'AC Bus Overfrequency',
|
||||
es_ES: 'Sobrefrecuencia de barra de CA',
|
||||
fr_FR: 'Surfréquence du jeu de barres CA',
|
||||
de_DE: 'AC-Überfrequenz',
|
||||
pl_PL: 'AC – zbyt wysoka częstotliwość szyny',
|
||||
ar_EG: 'فرط تردد ناقل التيار المتردد',
|
||||
field: 'acBusOverFreq',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '交流母线欠频',
|
||||
englabel: 'AC Bus Underfrequency',
|
||||
zh_CN: '交流母线欠频',
|
||||
en_US: 'AC Bus Underfrequency',
|
||||
es_ES: 'Subfrecuencia de barra de CA',
|
||||
fr_FR: 'Basse fréquence du jeu de barres CA',
|
||||
de_DE: 'AC-Underfrequenz',
|
||||
pl_PL: 'AC – zbyt niska częstotliwość szyny',
|
||||
ar_EG: 'انخفاض تردد ناقل التيار المتردد',
|
||||
field: 'acBusDebtFreq',
|
||||
value: ''
|
||||
}
|
||||
]
|
||||
|
||||
export const rightAllData = {
|
||||
top: [
|
||||
{
|
||||
label: '累计充电量',
|
||||
englabel: 'Cumulative Charged Energy',
|
||||
zh_CN: '累计充电量',
|
||||
en_US: 'Cumulative Charged Energy',
|
||||
es_ES: 'Energía de carga acumulada',
|
||||
fr_FR: 'Énergie chargée cumulée',
|
||||
de_DE: 'Kumulative Ladeenergie',
|
||||
pl_PL: 'Skumulowana energia ładowania',
|
||||
ar_EG: 'الطاقة المشحونة التراكمية',
|
||||
isMwh: true,
|
||||
unit: 'kWh',
|
||||
field: 'cTotalChargePower',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '累计放电量',
|
||||
englabel: 'Cumulative Discharged Energy',
|
||||
zh_CN: '累计放电量',
|
||||
en_US: 'Cumulative Discharged Energy',
|
||||
es_ES: 'Energía de descarga acumulada',
|
||||
fr_FR: 'Énergie déchargée cumulée',
|
||||
de_DE: 'Kumulative Entladeenergie',
|
||||
pl_PL: 'Skumulowana energia rozładowania',
|
||||
ar_EG: 'الطاقة المستنفدة التراكمية',
|
||||
isMwh: true,
|
||||
unit: 'kWh',
|
||||
field: 'cTotalDisChargePower',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'SOC',
|
||||
englabel: 'SOC',
|
||||
zh_CN: 'SOC',
|
||||
en_US: 'SOC',
|
||||
es_ES: 'SOC',
|
||||
fr_FR: 'SOC',
|
||||
de_DE: 'SOC',
|
||||
pl_PL: 'SOC',
|
||||
ar_EG: 'SOC',
|
||||
unit: '%',
|
||||
field: 'clusterSOC',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'SOH',
|
||||
englabel: 'SOH',
|
||||
zh_CN: 'SOH',
|
||||
en_US: 'SOH',
|
||||
es_ES: 'SOH',
|
||||
fr_FR: 'SOH',
|
||||
de_DE: 'SOH',
|
||||
pl_PL: 'SOH',
|
||||
ar_EG: 'SOH',
|
||||
unit: '%',
|
||||
field: 'clusterSOH',
|
||||
value: ''
|
||||
}
|
||||
],
|
||||
centerAvgData: {
|
||||
AvgV: {
|
||||
label: '平均电压',
|
||||
englabel: 'Average Voltage',
|
||||
zh_CN: '平均电压',
|
||||
en_US: 'Average Voltage',
|
||||
es_ES: 'Tensión medio',
|
||||
fr_FR: 'Tension moyenne',
|
||||
de_DE: 'Durchschnittsspannung',
|
||||
pl_PL: 'Średnie napięcie',
|
||||
ar_EG: 'الجهد المتوسط',
|
||||
field: 'csingleAgeV',
|
||||
value: ''
|
||||
},
|
||||
AvgT: {
|
||||
label: '平均温度',
|
||||
englabel: 'Average Temperature',
|
||||
zh_CN: '平均温度',
|
||||
en_US: 'Average Temperature',
|
||||
es_ES: 'Temperatura media',
|
||||
fr_FR: 'Température moyenne',
|
||||
de_DE: 'Durchschnittstemperatur',
|
||||
pl_PL: 'Średnia temperatura',
|
||||
ar_EG: 'درجة الحرارة المتوسطة',
|
||||
field: 'cageT',
|
||||
value: ''
|
||||
}
|
||||
},
|
||||
bottomData: {
|
||||
maxVol: {
|
||||
label: '最高电压',
|
||||
englabel: 'Maximum Voltage',
|
||||
zh_CN: '最高电压',
|
||||
en_US: 'Maximum Voltage',
|
||||
es_ES: 'Tensión máximo',
|
||||
fr_FR: 'Tension maximale',
|
||||
de_DE: 'Maximalspannung',
|
||||
pl_PL: 'Maksymalne napięcie',
|
||||
BMUpl_PL: 'Numer bloku baterii',
|
||||
boxpl_PL: 'Pozycja ogniwa',
|
||||
ar_EG: 'الجهد الأقصى',
|
||||
field: 'csingleMaxVolData',
|
||||
value: '',
|
||||
BMULabel: '电池组号',
|
||||
BMUen_US: 'Battery Block No.',
|
||||
BMUzh_CN: '电池组号',
|
||||
BMUfr_FR: 'No. de bloc-batterie',
|
||||
BMUDel: 'Batterieblock-Nr.',
|
||||
BMUes_ES: 'Número de grupo de baterías',
|
||||
BMUField: 'csingleMaxVolBMUNum',
|
||||
BMUValue: '',
|
||||
boxLabel: '电芯位置',
|
||||
boxen_US: 'Cell Position',
|
||||
boxzh_CN: '电芯位置',
|
||||
boxfr_FR: 'Position de la cellule',
|
||||
boxDel: 'Zellposition',
|
||||
boxes_ES: 'Posición de la célula',
|
||||
boxField: 'csingleMaxVolBoxNum',
|
||||
boxValue: ''
|
||||
},
|
||||
minVol: {
|
||||
label: '最低电压',
|
||||
englabel: 'Minimum Voltage',
|
||||
zh_CN: '最低电压',
|
||||
en_US: 'Minimum Voltage',
|
||||
es_ES: 'Tensión mínimo',
|
||||
fr_FR: 'Tension minimale',
|
||||
de_DE: 'Minimalspannung',
|
||||
pl_PL: 'Minimalne napięcie',
|
||||
BMUpl_PL: 'Numer bloku baterii',
|
||||
boxpl_PL: 'Pozycja ogniwa',
|
||||
ar_EG: 'الجهد الأدنى',
|
||||
field: 'csingleMinVolData',
|
||||
value: '',
|
||||
BMULabel: '电池组号',
|
||||
BMUen_US: 'Battery Block No.',
|
||||
BMUzh_CN: '电池组号',
|
||||
BMUfr_FR: 'No. de bloc-batterie',
|
||||
BMUDel: 'Batterieblock-Nr.',
|
||||
BMUes_ES: 'Número de grupo de baterías',
|
||||
BMUField: 'csingleMinVolBMUNum',
|
||||
BMUValue: '',
|
||||
boxLabel: '电芯位置',
|
||||
boxen_US: 'Cell Position',
|
||||
boxzh_CN: '电芯位置',
|
||||
boxfr_FR: 'Position de la cellule',
|
||||
boxDel: 'Zellposition',
|
||||
boxes_ES: 'Posición de la célula',
|
||||
boxField: 'csingleMinVolBoxNum',
|
||||
boxValue: ''
|
||||
},
|
||||
maxTem: {
|
||||
label: '最高温度',
|
||||
englabel: 'Maximum Temperature',
|
||||
zh_CN: '最高温度',
|
||||
en_US: 'Maximum Temperature',
|
||||
es_ES: 'Temperatura máxima',
|
||||
fr_FR: 'Température maximale',
|
||||
de_DE: 'Maximaltemperatur',
|
||||
pl_PL: 'Maksymalna temperatura',
|
||||
BMUpl_PL: 'Numer bloku baterii',
|
||||
boxpl_PL: 'Pozycja ogniwa',
|
||||
ar_EG: 'درجة الحرارة القصوى',
|
||||
field: 'csingleMaxTemData',
|
||||
value: '',
|
||||
BMULabel: '电池组号',
|
||||
BMUen_US: 'Battery Block No.',
|
||||
BMUzh_CN: '电池组号',
|
||||
BMUfr_FR: 'No. de bloc-batterie',
|
||||
BMUDel: 'Batterieblock-Nr.',
|
||||
BMUes_ES: 'Número de grupo de baterías',
|
||||
BMUField: 'csingleMaxTemBMUNum',
|
||||
BMUValue: '',
|
||||
boxLabel: '电芯位置',
|
||||
boxen_US: 'Cell Position',
|
||||
boxzh_CN: '电芯位置',
|
||||
boxfr_FR: 'Position de la cellule',
|
||||
boxDel: 'Zellposition',
|
||||
boxes_ES: 'Posición de la célula',
|
||||
boxField: 'csingleMaxTemBoxNum',
|
||||
boxValue: ''
|
||||
},
|
||||
minTmp: {
|
||||
label: '最低温度',
|
||||
englabel: 'Minimum Temperature',
|
||||
zh_CN: '最低温度',
|
||||
en_US: 'Minimum Temperature',
|
||||
es_ES: 'Temperatura mínima',
|
||||
fr_FR: 'Température minimale',
|
||||
de_DE: 'Minimaltemperatur',
|
||||
pl_PL: 'Minimalna temperatura',
|
||||
BMUpl_PL: 'Numer bloku baterii',
|
||||
boxpl_PL: 'Pozycja ogniwa',
|
||||
ar_EG: 'درجة الحرارة الدنيا',
|
||||
field: 'csingleMinTemData',
|
||||
value: '',
|
||||
BMULabel: '电池组号',
|
||||
BMUen_US: 'Battery Block No.',
|
||||
BMUzh_CN: '电池组号',
|
||||
BMUfr_FR: 'No. de bloc-batterie',
|
||||
BMUDel: 'Batterieblock-Nr.',
|
||||
BMUes_ES: 'Número de grupo de baterías',
|
||||
BMUField: 'csingleMinTemBMUNum',
|
||||
BMUValue: '',
|
||||
boxLabel: '电芯位置',
|
||||
boxen_US: 'Cell Position',
|
||||
boxzh_CN: '电芯位置',
|
||||
boxfr_FR: 'Position de la cellule',
|
||||
boxDel: 'Zellposition',
|
||||
boxes_ES: 'Posición de la célula',
|
||||
boxField: 'csingleMinTemBoxNum',
|
||||
boxValue: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export const pcsRightData = [
|
||||
{
|
||||
label: '充电温度高',
|
||||
englabel: 'High Charge Temperature',
|
||||
zh_CN: '充电温度高',
|
||||
en_US: 'High Charge Temperature',
|
||||
es_ES: 'Temperatura alta durante la carga',
|
||||
fr_FR: 'Température de charge élevée',
|
||||
de_DE: 'Hohe Ladtemperatur',
|
||||
pl_PL: 'Zbyt wysoka temperatura ładowania',
|
||||
ar_EG: 'درجة حرارة الشحن العالية',
|
||||
field: 'clusterAlarmCodeLBit0',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '充电温度低',
|
||||
englabel: 'Low Charge Temperature',
|
||||
zh_CN: '充电温度低',
|
||||
en_US: 'Low Charge Temperature',
|
||||
es_ES: 'Temperatura baja durante la carga',
|
||||
fr_FR: 'Température de charge basse',
|
||||
de_DE: 'Niedrige Ladtemperatur',
|
||||
pl_PL: 'Zbyt niska temperatura ładowania',
|
||||
ar_EG: 'درجة حرارة الشحن المنخفضة',
|
||||
field: 'clusterAlarmCodeLBit1',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '放电温度高',
|
||||
englabel: 'High Discharge Temperature',
|
||||
zh_CN: '放电温度高',
|
||||
en_US: 'High Discharge Temperature',
|
||||
es_ES: 'Temperatura alta durante la descarga',
|
||||
fr_FR: 'Température de décharge élevée',
|
||||
de_DE: 'Hohe Entladetemperatur',
|
||||
pl_PL: 'Zbyt wysoka temperatura rozładowania',
|
||||
ar_EG: 'درجة حرارة التفريغ العالية',
|
||||
field: 'clusterAlarmCodeLBit2',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '放电温度低',
|
||||
englabel: 'Low Discharge Temperature',
|
||||
zh_CN: '放电温度低',
|
||||
en_US: 'Low Discharge Temperature',
|
||||
es_ES: 'Temperatura baja durante la descarga',
|
||||
fr_FR: 'Température de décharge basse',
|
||||
de_DE: 'Niedrige Entladetemperatur',
|
||||
pl_PL: 'Zbyt niska temperatura rozładowania',
|
||||
ar_EG: 'درجة حرارة التفريغ المنخفضة',
|
||||
field: 'clusterAlarmCodeLBit3',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '充电温差大',
|
||||
englabel: 'High Charge Temperature Difference',
|
||||
zh_CN: '充电温差大',
|
||||
en_US: 'High Charge Temperature Difference',
|
||||
es_ES: 'Gran diferencia de temperatura durante la carga',
|
||||
fr_FR: 'Écart de température de charge élevé',
|
||||
de_DE: 'Hohe Ladtemperaturdifferenz',
|
||||
pl_PL: 'Zbyt duża różnica temperatur podczas ładowania',
|
||||
ar_EG: 'الفارق العالي في درجة حرارة الشحن',
|
||||
field: 'clusterAlarmCodeLBit4',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '放电温差大',
|
||||
englabel: 'High Discharge Temperature Difference',
|
||||
zh_CN: '放电温差大',
|
||||
en_US: 'High Discharge Temperature Difference',
|
||||
es_ES: 'Gran diferencia de temperatura durante la descarga',
|
||||
fr_FR: 'Écart de température de décharge élevé',
|
||||
de_DE: 'Hohe Entladetemperaturdifferenz',
|
||||
pl_PL: 'Zbyt duża różnica temperatur podczas rozładowania',
|
||||
ar_EG: 'الفارق العالي في درجة حرارة التفريغ',
|
||||
field: 'clusterAlarmCodeLBit5',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '环境温度高',
|
||||
englabel: 'High Ambient Temperature',
|
||||
zh_CN: '环境温度高',
|
||||
en_US: 'High Ambient Temperature',
|
||||
es_ES: 'Temperatura ambiental alta',
|
||||
fr_FR: 'Température ambiante élevée',
|
||||
de_DE: 'Hohe Umgebungstemperatur',
|
||||
pl_PL: 'Zbyt wysoka temperatura otoczenia',
|
||||
ar_EG: 'درجة حرارة المحيط العالية',
|
||||
field: 'clusterAlarmCodeLBit6',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '单体电压高',
|
||||
englabel: 'High Cell Voltage',
|
||||
zh_CN: '单体电压高',
|
||||
en_US: 'High Cell Voltage',
|
||||
es_ES: 'unidad de tensión alto',
|
||||
fr_FR: 'Tension de cellule élevée',
|
||||
de_DE: 'Hohe Zellspannung',
|
||||
pl_PL: 'Zbyt wysokie napięcie ogniwa',
|
||||
ar_EG: 'جهد الخلية العالي',
|
||||
field: 'clusterAlarmCodeLBit8',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '单体电压低',
|
||||
englabel: 'Low Cell Voltage',
|
||||
zh_CN: '单体电压低',
|
||||
en_US: 'Low Cell Voltage',
|
||||
es_ES: 'unidad con tensión bajo',
|
||||
fr_FR: 'Tension de cellule basse',
|
||||
de_DE: 'Niedrige Zellspannung',
|
||||
pl_PL: 'Zbyt niskie napięcie ogniwa',
|
||||
ar_EG: 'جهد الخلية المنخفض',
|
||||
field: 'clusterAlarmCodeLBit9',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '充电压差大',
|
||||
englabel: 'High Charge Voltage Difference',
|
||||
zh_CN: '充电压差大',
|
||||
en_US: 'High Charge Voltage Difference',
|
||||
es_ES: 'Gran diferencia de tensión durante la carga',
|
||||
fr_FR: 'Écart de tension de charge élevé',
|
||||
de_DE: 'Hohe Ladespannungsdifferenz',
|
||||
pl_PL: 'Zbyt duża różnica napięć podczas ładowania',
|
||||
ar_EG: 'الفارق العالي في جهد الشحن',
|
||||
field: 'clusterAlarmCodeLBit10',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '放电压差大',
|
||||
englabel: 'High Discharge Voltage Difference',
|
||||
zh_CN: '放电压差大',
|
||||
en_US: 'High Discharge Voltage Difference',
|
||||
es_ES: 'Gran diferencia de tensión durante la descarga',
|
||||
fr_FR: 'Écart de tension de décharge élevé',
|
||||
de_DE: 'Hohe Entladespannungsdifferenz',
|
||||
pl_PL: 'Zbyt duża różnica napięć podczas rozładowania',
|
||||
ar_EG: 'الفارق العالي في جهد التفريغ',
|
||||
field: 'clusterAlarmCodeLBit11',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'SOC低',
|
||||
englabel: 'Low SOC',
|
||||
zh_CN: 'SOC低',
|
||||
en_US: 'Low SOC',
|
||||
es_ES: 'SOC bajo',
|
||||
fr_FR: 'SOC faible',
|
||||
de_DE: 'Niedriger SOC',
|
||||
pl_PL: 'Zbyt niski poziom naładowania (SOC)',
|
||||
ar_EG: 'SOC المنخفضة',
|
||||
field: 'clusterAlarmCodeLBit12',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '充电电流大',
|
||||
englabel: 'High Charge Current',
|
||||
zh_CN: '充电电流大',
|
||||
en_US: 'High Charge Current',
|
||||
es_ES: 'Corriente de carga alta',
|
||||
fr_FR: 'Courant de charge élevé',
|
||||
de_DE: 'Hoher Ladestrom',
|
||||
pl_PL: 'Zbyt wysoki prąd ładowania',
|
||||
ar_EG: 'تيار الشحن العالي',
|
||||
field: 'clusterAlarmCodeLBit13',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '放电电流大',
|
||||
englabel: 'High Discharge Current',
|
||||
zh_CN: '放电电流大',
|
||||
en_US: 'High Discharge Current',
|
||||
es_ES: 'Corriente de descarga alta',
|
||||
fr_FR: 'Courant de décharge élevé',
|
||||
de_DE: 'Hoher Entladestrom',
|
||||
pl_PL: 'Zbyt wysoki prąd rozładowania',
|
||||
ar_EG: 'تيار التفريغ العالي',
|
||||
field: 'clusterAlarmCodeLBit14',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '总电压过高',
|
||||
englabel: 'Total Voltage Too High',
|
||||
zh_CN: '总电压过高',
|
||||
en_US: 'Total Voltage Too High',
|
||||
es_ES: 'Tensión total excesivo',
|
||||
fr_FR: 'Tension totale trop élevée',
|
||||
de_DE: 'Gesamtspannung zu hoch',
|
||||
pl_PL: 'Zbyt wysokie napięcie całkowite',
|
||||
ar_EG: 'الجهد الكلي مرتفع جداً',
|
||||
field: 'clusterAlarmCodeLBit15',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '总电压过低',
|
||||
englabel: 'Total Voltage Too Low',
|
||||
zh_CN: '总电压过低',
|
||||
en_US: 'Total Voltage Too Low',
|
||||
es_ES: 'Tensión total deficiente',
|
||||
fr_FR: 'Tension totale trop faible',
|
||||
de_DE: 'Gesamtspannung zu niedrig',
|
||||
pl_PL: 'Zbyt niskie napięcie całkowite',
|
||||
ar_EG: 'الجهد الكلي منخفض جداً',
|
||||
field: 'clusterAlarmCodeLBit16',
|
||||
value: ''
|
||||
}
|
||||
]
|
||||
|
||||
export const centerTopData = [
|
||||
{
|
||||
volLabel: '电压',
|
||||
@ -174,268 +682,3 @@ export const centerTopData = [
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
export const rightAllData = {
|
||||
top: [
|
||||
{
|
||||
label: '累计充电量',
|
||||
isMwh: true,
|
||||
unit: 'kWh',
|
||||
field: 'cTotalChargePower',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '累计放电量',
|
||||
isMwh: true,
|
||||
unit: 'kWh',
|
||||
field: 'cTotalDisChargePower',
|
||||
value: ''
|
||||
},
|
||||
|
||||
// {
|
||||
// label: '绝缘正电阻',
|
||||
// field: 'cInsulationPositiveResistance',
|
||||
// unit: 'kΩ',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: '绝缘负电阻',
|
||||
// unit: 'kΩ',
|
||||
// field: 'cInsulationNegativeResistance',
|
||||
// value: ''
|
||||
// },
|
||||
|
||||
{
|
||||
label: 'SOC',
|
||||
unit: '%',
|
||||
|
||||
field: 'clusterSOC',
|
||||
value: ''
|
||||
},
|
||||
|
||||
{
|
||||
label: 'SOH',
|
||||
unit: '%',
|
||||
field: 'clusterSOH',
|
||||
value: ''
|
||||
}
|
||||
|
||||
],
|
||||
centerAvgData: {
|
||||
AvgV: {
|
||||
label: '平均电压',
|
||||
field: 'csingleAgeV',
|
||||
value: ''
|
||||
},
|
||||
AvgT: {
|
||||
label: '平均温度',
|
||||
field: 'cageT',
|
||||
value: ''
|
||||
}
|
||||
},
|
||||
bottomData: {
|
||||
maxVol: {
|
||||
label: '最高电压',
|
||||
field: 'csingleMaxVolData',
|
||||
value: '',
|
||||
BMULabel: '电池组号',
|
||||
BMUField: 'csingleMaxVolBMUNum',
|
||||
BMUValue: '',
|
||||
boxLabel: '电芯位置',
|
||||
boxField: 'csingleMaxVolBoxNum',
|
||||
boxValue: ''
|
||||
},
|
||||
minVol: {
|
||||
label: '最低电压',
|
||||
field: 'csingleMinVolData',
|
||||
value: '',
|
||||
BMULabel: '电池组号',
|
||||
BMUField: 'csingleMinVolBMUNum',
|
||||
BMUValue: '',
|
||||
boxLabel: '电芯位置',
|
||||
boxField: 'csingleMinVolBoxNum',
|
||||
boxValue: ''
|
||||
},
|
||||
|
||||
maxTem: {
|
||||
label: '最高温度',
|
||||
field: 'csingleMaxTemData',
|
||||
value: '',
|
||||
BMULabel: '电池组号',
|
||||
BMUField: 'csingleMaxTemBMUNum',
|
||||
BMUValue: '',
|
||||
boxLabel: '电芯位置',
|
||||
boxField: 'csingleMaxTemBoxNum',
|
||||
boxValue: ''
|
||||
},
|
||||
minTmp: {
|
||||
label: '最低温度',
|
||||
field: 'csingleMinTemData',
|
||||
value: '',
|
||||
BMULabel: '电池组号',
|
||||
BMUField: 'csingleMinTemBMUNum',
|
||||
BMUValue: '',
|
||||
boxLabel: '电芯位置',
|
||||
boxField: 'csingleMinTemBoxNum',
|
||||
boxValue: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export const pcsRightData = [
|
||||
{
|
||||
label: '充电温度高',
|
||||
field: 'clusterAlarmCodeLBit0',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '充电温度低',
|
||||
field: 'clusterAlarmCodeLBit1',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '放电温度高',
|
||||
field: 'clusterAlarmCodeLBit2',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '放电温度低',
|
||||
field: 'clusterAlarmCodeLBit3',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '充电温差大',
|
||||
field: 'clusterAlarmCodeLBit4',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '放电温差大',
|
||||
field: 'clusterAlarmCodeLBit5',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '环境温度高',
|
||||
field: 'clusterAlarmCodeLBit6',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '单体电压高',
|
||||
field: 'clusterAlarmCodeLBit8',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '单体电压低',
|
||||
field: 'clusterAlarmCodeLBit9',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '充电压差大',
|
||||
field: 'clusterAlarmCodeLBit10',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '放电压差大',
|
||||
field: 'clusterAlarmCodeLBit11',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'SOC低',
|
||||
field: 'clusterAlarmCodeLBit12',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '充电电流大',
|
||||
field: 'clusterAlarmCodeLBit13',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '放电电流大',
|
||||
field: 'clusterAlarmCodeLBit14',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '总电压过高',
|
||||
field: 'clusterAlarmCodeLBit15',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '总电压过低',
|
||||
field: 'clusterAlarmCodeLBit16',
|
||||
value: ''
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
// export const pcsRightData = [
|
||||
// {
|
||||
// label: '放电温度高',
|
||||
// field: 'clusterAlarmCodeLBit0',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: '放电温度低',
|
||||
// field: 'clusterAlarmCodeLBit1',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: '单体电压高',
|
||||
// field: 'clusterAlarmCodeLBit2',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: '单体电压低',
|
||||
// field: 'clusterAlarmCodeLBit3',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: 'SOC低',
|
||||
// field: 'clusterAlarmCodeLBit5',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: 'SOC高',
|
||||
// field: 'clusterAlarmCodeLBit6',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: '充电电流大',
|
||||
// field: 'clusterAlarmCodeLBit8',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: '放电电流大',
|
||||
// field: 'clusterAlarmCodeLBit9',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: '温差大',
|
||||
// field: 'clusterAlarmCodeLBit10',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: '绝缘低',
|
||||
// field: 'clusterAlarmCodeLBit11',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: '总压高',
|
||||
// field: 'clusterAlarmCodeLBit12',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: '总压低',
|
||||
// field: 'clusterAlarmCodeLBit13',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: '充电温度高',
|
||||
// field: 'clusterAlarmCodeLBit14',
|
||||
// value: ''
|
||||
// },
|
||||
// {
|
||||
// label: '充电温度低',
|
||||
// field: 'clusterAlarmCodeLBit15',
|
||||
// value: ''
|
||||
// }
|
||||
|
||||
// ]
|
||||
|
||||
@ -18,14 +18,7 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
timeLidu: 1,
|
||||
times: [
|
||||
{ label: '1分钟', value: 1 },
|
||||
{ label: '5分钟', value: 5 },
|
||||
{ label: '10分钟', value: 10 },
|
||||
{ label: '15分钟', value: 15 },
|
||||
{ label: '20分钟', value: 20 },
|
||||
{ label: '30分钟', value: 30 }
|
||||
],
|
||||
times: this.$t('pcs.times'),
|
||||
options: {
|
||||
title: {
|
||||
text: this.$t('pcs.noData'),
|
||||
@ -109,19 +102,15 @@ export default {
|
||||
params.forEach((item) => {
|
||||
dataStr += `<div>
|
||||
<div style="margin: 0 8px;">
|
||||
<span style="display:inline-block;margin-right:5px;width:10px;height:10px;background-color:${
|
||||
item.color
|
||||
};"></span>
|
||||
<span style="display:inline-block;margin-right:5px;width:10px;height:10px;background-color:${item.color};"></span>
|
||||
<span>${item.seriesName}</span>
|
||||
<span style="float:right;color:#00C8FF;margin-left:20px;">${
|
||||
item.data === null ? '' : item.data
|
||||
}</span>
|
||||
<span style="float:right;color:#00C8FF;margin-left:20px;">${item.data === null ? '' : item.data}</span>
|
||||
</div>
|
||||
</div>`
|
||||
})
|
||||
const div = `<div style='border: 1px solid ;
|
||||
border-image: linear-gradient(130deg, #FFFFFF 0%, rgba(201,255,243,0.00) 22%, rgba(201,255,243,0.00) 75%, rgba(201,255,243,0.00) 80%, #FFFFFF 99%, #FFFFFF 99%) 1;
|
||||
box-shadow: inset 0px 2px 16px 0px rgba(0, 148, 255, 0.4);' >${dataStr}</div>`
|
||||
border-image: linear-gradient(130deg, #FFFFFF 0%, rgba(201,255,243,0.00) 22%, rgba(201,255,243,0.00) 75%, rgba(201,255,243,0.00) 80%, #FFFFFF 99%, #FFFFFF 99%) 1;
|
||||
box-shadow: inset 0px 2px 16px 0px rgba(0, 148, 255, 0.4);' >${dataStr}</div>`
|
||||
return div
|
||||
}
|
||||
},
|
||||
|
||||
@ -7,8 +7,9 @@
|
||||
|
||||
<div v-loading="loading" class="left-first">
|
||||
<div v-for="item in ktstatus2" :key="item.label" class="box-title">
|
||||
<span v-if="language === 'en'" class="title">{{ item.englabel }}:</span>
|
||||
<span v-else class="title">{{ item.label }}:</span>
|
||||
<!-- <span v-if="language === 'en'" class="title">{{ item.englabel }}:</span>
|
||||
<span v-else class="title">{{ item.label }}:</span> -->
|
||||
<span class="title">{{ item[language] }}:</span>
|
||||
|
||||
<span class="value">{{ item.value }}</span>
|
||||
<span v-if="item.unit" class="unit">{{ item.unit }}</span>
|
||||
@ -23,16 +24,18 @@
|
||||
<div class="right-first">
|
||||
<div class="top-left-container">
|
||||
<div v-for="item in ktLeftData" :key="item.label" :class="item.value ? 'error-item-wrap' : 'item-wrap'">
|
||||
<div v-if="language === 'en'" class="label">{{ item.englabel }}</div>
|
||||
<div v-else class="label">{{ item.label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="label">{{ item.englabel }}</div>
|
||||
<div v-else class="label">{{ item.label }}</div> -->
|
||||
<div class="label">{{ item[language] }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right-first">
|
||||
<div class="top-left-container">
|
||||
<div v-for="item in ktLeftData2" :key="item.label" :class="item.value ? 'error-item-wrap' : 'item-wrap'">
|
||||
<div v-if="language === 'en'" class="label">{{ item.englabel }}</div>
|
||||
<div v-else class="label">{{ item.label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="label">{{ item.englabel }}</div>
|
||||
<div v-else class="label">{{ item.label }}</div> -->
|
||||
<div class="label">{{ item[language] }}</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -40,8 +43,9 @@
|
||||
<div class="right-first">
|
||||
<div class="top-left-container">
|
||||
<div v-for="item in ktLeftData3" :key="item.label" :class="item.value ? 'error-item-wrap' : 'item-wrap'">
|
||||
<div v-if="language === 'en'" class="label">{{ item.englabel }}</div>
|
||||
<div v-else class="label">{{ item.label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="label">{{ item.englabel }}</div>
|
||||
<div v-else class="label">{{ item.label }}</div> -->
|
||||
<div class="label">{{ item[language] }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -117,13 +121,13 @@ export default {
|
||||
}
|
||||
})
|
||||
if (this.ktstatus2[3].value === 0) {
|
||||
this.ktstatus2[3].value = '关机'
|
||||
this.ktstatus2[3].value = this.$t('pcs.turnOff')
|
||||
} else if (this.ktstatus2[3].value === 1) {
|
||||
this.ktstatus2[3].value = '制冷模式'
|
||||
this.ktstatus2[3].value = this.$t('pcs.coolingMode')
|
||||
} else if (this.ktstatus2[3].value === 2) {
|
||||
this.ktstatus2[3].value = '制热模式'
|
||||
this.ktstatus2[3].value = this.$t('pcs.HeatingMode')
|
||||
} else if (this.ktstatus2[3].value === 3) {
|
||||
this.ktstatus2[3].value = '自循环模式'
|
||||
this.ktstatus2[3].value = this.$t('pcs.selfLoopMode')
|
||||
}
|
||||
|
||||
this.ktLeftData.forEach((el) => {
|
||||
|
||||
@ -1,6 +1,14 @@
|
||||
export const ktstatus = [
|
||||
{
|
||||
label: '空调开关机',
|
||||
englabel: 'Air Conditioner On/Off',
|
||||
zh_CN: '空调开关机',
|
||||
en_US: 'Air Conditioner On/Off',
|
||||
es_ES: 'Encendido y apagado del aire acondicionado',
|
||||
fr_FR: 'Marche/arrêt du climatiseur',
|
||||
de_DE: 'Klimaanlage Ein/Aus',
|
||||
pl_PL: 'Włącz / Wyłącz klimatyzację',
|
||||
ar_EG: 'تشغيل / إيقاف المكيف',
|
||||
field: 'airconditionSwitchYX',
|
||||
value: '关机'
|
||||
}
|
||||
@ -9,28 +17,56 @@ export const ktstatus = [
|
||||
export const ktstatus2 = [
|
||||
{
|
||||
label: '环境温度',
|
||||
englabel: 'Ambient temperature',
|
||||
englabel: 'Ambient Temperature',
|
||||
zh_CN: '环境温度',
|
||||
en_US: 'Ambient Temperature',
|
||||
es_ES: 'Temperatura ambiental',
|
||||
fr_FR: 'Température ambiante',
|
||||
de_DE: 'Umgebungstemperatur',
|
||||
pl_PL: 'Temperatura otoczenia',
|
||||
ar_EG: 'الدرجة الحرارة المحيطة',
|
||||
field: 'ambient_temp',
|
||||
value: '0',
|
||||
unit: '℃'
|
||||
},
|
||||
{
|
||||
label: '回水温度',
|
||||
englabel: 'Return water temperature',
|
||||
englabel: 'Water Return Temperature',
|
||||
zh_CN: '回水温度',
|
||||
en_US: 'Water Return Temperature',
|
||||
es_ES: 'Temperatura de agua de retorno',
|
||||
fr_FR: "Température de retour d'eau",
|
||||
de_DE: 'Rücklauftemperatur',
|
||||
pl_PL: 'Temperatura wody powrotnej',
|
||||
ar_EG: 'درجة حرارة الماء الراجع',
|
||||
field: 'return_water_temp',
|
||||
value: '0',
|
||||
unit: '℃'
|
||||
},
|
||||
{
|
||||
label: '出水温度',
|
||||
englabel: 'Effluent temperature',
|
||||
englabel: 'Water Outlet Temperature',
|
||||
zh_CN: '出水温度',
|
||||
en_US: 'Water Outlet Temperature',
|
||||
es_ES: 'Temperatura de agua de salida',
|
||||
fr_FR: "Température d'eau de sortie",
|
||||
de_DE: 'Vorlauftemperatur',
|
||||
pl_PL: 'Temperatura wody zasilającej',
|
||||
ar_EG: 'درجة حرارة الماء الخارج',
|
||||
field: 'outlet_water_temp',
|
||||
value: '0',
|
||||
unit: '℃'
|
||||
},
|
||||
{
|
||||
label: 'TMS工作状态',
|
||||
englabel: 'TMS working status',
|
||||
englabel: 'TMS Operating Status',
|
||||
zh_CN: 'TMS工作状态',
|
||||
en_US: 'TMS Operating Status',
|
||||
es_ES: 'Estado de funcionamiento del TMS',
|
||||
fr_FR: 'État de service du TMS',
|
||||
de_DE: 'TMS-Betriebsstatus',
|
||||
pl_PL: 'Stan pracy systemu TMS',
|
||||
ar_EG: 'حالة تشغيل TMS',
|
||||
field: 'tms_workStatus',
|
||||
value: '0',
|
||||
unit: ''
|
||||
@ -40,67 +76,144 @@ export const ktstatus2 = [
|
||||
export const ktLeftData = [
|
||||
{
|
||||
label: 'BMS通信故障',
|
||||
englabel: 'BMS communication faulty',
|
||||
englabel: 'BMS Communication Fault',
|
||||
zh_CN: 'BMS通信故障',
|
||||
en_US: 'BMS Communication Fault',
|
||||
es_ES: 'Avería de comunicación del BMS',
|
||||
fr_FR: 'Défaut de communication SGB',
|
||||
de_DE: 'BMS-Kommunikationsfehler',
|
||||
pl_PL: 'Błąd komunikacji BMS',
|
||||
ar_EG: 'عطل اتصال BMS',
|
||||
field: 'fault1',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '低压电压故障',
|
||||
englabel: 'Low voltage fault',
|
||||
englabel: 'Low Voltage Fault',
|
||||
zh_CN: '低压电压故障',
|
||||
en_US: 'Low Voltage Fault',
|
||||
es_ES: 'Avería de voltaje de baja tensión',
|
||||
fr_FR: 'Défaut de basse tension',
|
||||
de_DE: 'Niederspannungsfehler',
|
||||
pl_PL: 'Awaria niskiego napięcia',
|
||||
ar_EG: 'عطل انخفاض الجهد',
|
||||
field: 'fault2',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '低压压力故障',
|
||||
englabel: 'Low pressure fault',
|
||||
englabel: 'Low Pressure Fault',
|
||||
zh_CN: '低压压力故障',
|
||||
en_US: 'Low Pressure Fault',
|
||||
es_ES: 'Avería de presión de baja tensión',
|
||||
fr_FR: 'Défaut de basse pression',
|
||||
de_DE: 'Niederdruckfehler',
|
||||
pl_PL: 'Awaria niskiego ciśnienia',
|
||||
ar_EG: 'عطل انخفاض الضغط',
|
||||
field: 'fault3',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '高压压力故障',
|
||||
englabel: 'High pressure failure',
|
||||
englabel: 'High Pressure Fault',
|
||||
zh_CN: '高压压力故障',
|
||||
en_US: 'High Pressure Fault',
|
||||
es_ES: 'Avería de presión de alta tensión',
|
||||
fr_FR: 'Défaut de haute pression',
|
||||
de_DE: 'Hochdruckfehler',
|
||||
pl_PL: 'Awaria wysokiego ciśnienia',
|
||||
ar_EG: 'عطل ارتفاع الضغط',
|
||||
field: 'fault4',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'PTC过温报警',
|
||||
englabel: 'PTC overtemperature alarm',
|
||||
englabel: 'PTC Overtemperature Alarm',
|
||||
zh_CN: 'PTC过温报警',
|
||||
en_US: 'PTC Overtemperature Alarm',
|
||||
es_ES: 'Alarma de sobretemperatura del PTC',
|
||||
fr_FR: 'Alarme de surchauffe PTC',
|
||||
de_DE: 'PTC-Überhitzungsalarm',
|
||||
pl_PL: 'Alarm przegrzania PTC',
|
||||
ar_EG: 'إنذار ارتفاع درجة حرارة PTC',
|
||||
field: 'fault5',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '蒸发温度传感器故障',
|
||||
englabel: 'Evaporation temperature sensor fault',
|
||||
englabel: 'Evaporator Temperature Sensor Fault',
|
||||
zh_CN: '蒸发温度传感器故障',
|
||||
en_US: 'Evaporator Temperature Sensor Fault',
|
||||
es_ES: 'Avería del sensor de temperatura de evaporación',
|
||||
fr_FR: "Défaut de sonde de température d'évaporation",
|
||||
de_DE: 'Verdampfertemperatursensorfehler',
|
||||
pl_PL: 'Błąd czujnika temperatury parownika',
|
||||
ar_EG: 'عطل حساس درجة حرارة المبخر',
|
||||
field: 'fault6',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '主继电器故障',
|
||||
englabel: 'Main relay fault',
|
||||
englabel: 'Main Relay Fault',
|
||||
zh_CN: '主继电器故障',
|
||||
en_US: 'Main Relay Fault',
|
||||
es_ES: 'Avería del relé principal',
|
||||
fr_FR: 'Défaut du relais principal',
|
||||
de_DE: 'Hauptrelaisfehler',
|
||||
pl_PL: 'Awaria przekaźnika głównego',
|
||||
ar_EG: 'عطل المرحل الرئيسي',
|
||||
field: 'fault7',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '压缩机故障',
|
||||
englabel: 'Compressor failure',
|
||||
englabel: 'Compressor Fault',
|
||||
zh_CN: '压缩机故障',
|
||||
en_US: 'Compressor Fault',
|
||||
es_ES: 'Avería del compresor',
|
||||
fr_FR: 'Défaut du compresseur',
|
||||
de_DE: 'Kompressorfehler',
|
||||
pl_PL: 'Awaria sprężarki',
|
||||
ar_EG: 'عطل الضاغط',
|
||||
field: 'fault8',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '防冻结保护',
|
||||
englabel: 'Freeze protection',
|
||||
englabel: 'Anti-Freeze Protection',
|
||||
zh_CN: '防冻结保护',
|
||||
en_US: 'Anti-Freeze Protection',
|
||||
es_ES: 'Protección contra congelación',
|
||||
fr_FR: 'Protection antigel',
|
||||
de_DE: 'Frostschutz',
|
||||
pl_PL: 'Zabezpieczenie przeciwzamrozeniowe',
|
||||
ar_EG: 'الحماية من التجمد',
|
||||
field: 'fault9',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '防冻结温度传感器异常',
|
||||
englabel: 'Anti-freezing temperature sensor Fault',
|
||||
englabel: 'Anti-Freeze Temperature Sensor Fault',
|
||||
zh_CN: '防冻结温度传感器异常',
|
||||
en_US: 'Anti-Freeze Temperature Sensor Fault',
|
||||
es_ES: 'Anomalía del sensor de temperatura anti-congelación',
|
||||
fr_FR: 'Anomalie du capteur de température antigel',
|
||||
de_DE: 'Frostschutz-Temperatursensorfehler',
|
||||
pl_PL: 'Błąd czujnika temperatury zabezpieczenia przeciwzamrozeniowego',
|
||||
ar_EG: 'عطل حساس درجة الحرارة المضاد للتجمد',
|
||||
field: 'fault10',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '风机故障',
|
||||
englabel: 'Fan failure',
|
||||
englabel: 'Fan Fault',
|
||||
zh_CN: '风机故障',
|
||||
en_US: 'Fan Fault',
|
||||
es_ES: 'Avería del ventilador',
|
||||
fr_FR: 'Défaut du ventilateur',
|
||||
de_DE: 'Lüfterfehler',
|
||||
pl_PL: 'Awaria wentylatora',
|
||||
ar_EG: 'عطل المروحة',
|
||||
field: 'fault11',
|
||||
value: ''
|
||||
}
|
||||
@ -109,67 +222,144 @@ export const ktLeftData = [
|
||||
export const ktLeftData2 = [
|
||||
{
|
||||
label: '冷却压缩机通讯故障',
|
||||
englabel: 'Cooling compressor communication failure',
|
||||
englabel: 'Cooling Compressor Communication Fault',
|
||||
zh_CN: '冷却压缩机通讯故障',
|
||||
en_US: 'Cooling Compressor Communication Fault',
|
||||
es_ES: 'Avería de comunicación del compresor de refrigeración',
|
||||
fr_FR: 'Défaut de communication du compresseur de refroidissement',
|
||||
de_DE: 'Kühlkompressor-Kommunikationsfehler',
|
||||
pl_PL: 'Błąd komunikacji sprężarki chłodzenia',
|
||||
ar_EG: 'عطل اتصال الضاغط',
|
||||
field: 'fault12',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '高压电压故障',
|
||||
englabel: 'High voltage fault',
|
||||
englabel: 'High Voltage Fault',
|
||||
zh_CN: '高压电压故障',
|
||||
en_US: 'High Voltage Fault',
|
||||
es_ES: 'Avería de voltaje de alta tensión',
|
||||
fr_FR: 'Défaut de haute tension',
|
||||
de_DE: 'Hochspannungsfehler',
|
||||
pl_PL: 'Awaria wysokiego napięcia',
|
||||
ar_EG: 'عطل ارتفاع الجهد',
|
||||
field: 'fault13',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '排气过温报警',
|
||||
englabel: 'Exhaust overtemperature alarm',
|
||||
englabel: 'Exhaust Overheat Alarm',
|
||||
zh_CN: '排气过温报警',
|
||||
en_US: 'Exhaust Overheat Alarm',
|
||||
es_ES: 'Alarma de sobretemperatura de escape',
|
||||
fr_FR: "Alarme de surchauffe d'échappement",
|
||||
de_DE: 'Abluft-Überhitzungsalarm',
|
||||
pl_PL: 'Alarm przegrzania spalin / powietrza wylotowego',
|
||||
ar_EG: 'إنذار ارتفاع درجة حرارة العادم',
|
||||
field: 'fault14',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '水泵故障',
|
||||
englabel: 'Pump failure',
|
||||
englabel: 'Water Pump Fault',
|
||||
zh_CN: '水泵故障',
|
||||
en_US: 'Water Pump Fault',
|
||||
es_ES: 'Avería de la bomba de agua',
|
||||
fr_FR: 'Défaut de la pompe à eau',
|
||||
de_DE: 'Wasserpumpenfehler',
|
||||
pl_PL: 'Awaria pompy wody',
|
||||
ar_EG: 'عطل مضخة المياه',
|
||||
field: 'fault15',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '室外环境传感器故障',
|
||||
englabel: 'Outdoor environment sensor fault',
|
||||
englabel: 'Outdoor Environment Sensor Fault',
|
||||
zh_CN: '室外环境传感器故障',
|
||||
en_US: 'Outdoor Environment Sensor Fault',
|
||||
es_ES: 'Avería del sensor de ambiente exterior',
|
||||
fr_FR: "Défaut du capteur d'environnement extérieur",
|
||||
de_DE: 'Außenumgebungssensorfehler',
|
||||
pl_PL: 'Błąd czujnika warunków zewnętrznych',
|
||||
ar_EG: 'عطل حساس البيئة الخارجية',
|
||||
field: 'fault16',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '排气温度传感器故障',
|
||||
englabel: 'Exhaust gas temperature sensor fault',
|
||||
englabel: 'Exhaust Temperature Sensor Fault',
|
||||
zh_CN: '排气温度传感器故障',
|
||||
en_US: 'Exhaust Temperature Sensor Fault',
|
||||
es_ES: 'Avería del sensor de temperatura de escape',
|
||||
fr_FR: "Défaut de sonde de température d'échappement",
|
||||
de_DE: 'Ablufttemperatursensorfehler',
|
||||
pl_PL: 'Błąd czujnika temperatury powietrza wylotowego',
|
||||
ar_EG: 'عطل حساس درجة حرارة العادم',
|
||||
field: 'fault17',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '回水温度传感器故障',
|
||||
englabel: 'Return water temperature sensor fault',
|
||||
englabel: 'Water Return Temperature Sensor Fault',
|
||||
zh_CN: '回水温度传感器故障',
|
||||
en_US: 'Water Return Temperature Sensor Fault',
|
||||
es_ES: 'Avería del sensor de temperatura de agua de retorno',
|
||||
fr_FR: "Défaut de sonde de température de retour d'eau",
|
||||
de_DE: 'Rücklauftemperatursensorfehler',
|
||||
pl_PL: 'Błąd czujnika temperatury wody powrotnej',
|
||||
ar_EG: 'عطل حساس درجة حرارة الماء العائد',
|
||||
field: 'fault18',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '出水温度传感器故障',
|
||||
englabel: 'Water outlet temperature sensor fault',
|
||||
englabel: 'Water Outlet Temperature Sensor Fault',
|
||||
zh_CN: '出水温度传感器故障',
|
||||
en_US: 'Water Outlet Temperature Sensor Fault',
|
||||
es_ES: 'Avería del sensor de temperatura de agua de salida',
|
||||
fr_FR: "Défaut de sonde de température d'eau de sortie",
|
||||
de_DE: 'Vorlauftemperatursensorfehler',
|
||||
pl_PL: 'Błąd czujnika temperatury wody zasilającej',
|
||||
ar_EG: 'عطل حساس درجة حرارة مخرج الماء',
|
||||
field: 'fault19',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '出水高温',
|
||||
englabel: 'High effluent temperature',
|
||||
englabel: 'High Water Outlet Temperature',
|
||||
zh_CN: '出水高温',
|
||||
en_US: 'High Water Outlet Temperature',
|
||||
es_ES: 'Temperatura de agua de salida alta',
|
||||
fr_FR: "Température élevée de l'eau de sortie",
|
||||
de_DE: 'Hohe Vorlauftemperatur',
|
||||
pl_PL: 'Zbyt wysoka temperatura wody zasilającej',
|
||||
ar_EG: 'ارتفاع درجة حرارة مخرج الماء',
|
||||
field: 'fault20',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '出水低温',
|
||||
englabel: 'Low effluent temperature',
|
||||
englabel: 'Low Water Outlet Temperature',
|
||||
zh_CN: '出水低温',
|
||||
en_US: 'Low Water Outlet Temperature',
|
||||
es_ES: 'Temperatura de agua de salida baja',
|
||||
fr_FR: "Température basse de l'eau de sortie",
|
||||
de_DE: 'Niedrige Vorlauftemperatur',
|
||||
pl_PL: 'Zbyt niska temperatura wody zasilającej',
|
||||
ar_EG: 'انخفاض درجة حرارة مخرج الماء',
|
||||
field: 'fault21',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'PTC故障',
|
||||
englabel: 'PTC fault',
|
||||
englabel: 'PTC Fault',
|
||||
zh_CN: 'PTC故障',
|
||||
en_US: 'PTC Fault',
|
||||
es_ES: 'Avería del PTC',
|
||||
fr_FR: 'Défaut PTC',
|
||||
de_DE: 'PTC-Fehler',
|
||||
pl_PL: 'Awaria PTC',
|
||||
ar_EG: 'عطل سخان PTC',
|
||||
field: 'fault22',
|
||||
value: ''
|
||||
}
|
||||
@ -178,61 +368,131 @@ export const ktLeftData2 = [
|
||||
export const ktLeftData3 = [
|
||||
{
|
||||
label: '水冷电池水箱液位低',
|
||||
englabel: 'Liquid level of the water-cooled battery low',
|
||||
englabel: 'Low Level of Water-Cooled Battery Tank',
|
||||
zh_CN: '水冷电池水箱液位低',
|
||||
en_US: 'Low Level of Water-Cooled Battery Tank',
|
||||
es_ES: 'Nivel bajo de líquido en el depósito de baterías refrigeradas por agua',
|
||||
fr_FR: 'Niveau bas du réservoir de batterie refroidi par eau',
|
||||
de_DE: 'Niedriger Wasserstand im wassergekühlten Batterietank',
|
||||
pl_PL: 'Zbyt niski poziom cieczy w zbiorniku baterii chłodzonej woda',
|
||||
ar_EG: 'انخفاض مستوى خزان البطارية المبرد بالماء',
|
||||
field: 'fault23',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '却相锁定',
|
||||
englabel: 'Phase locking',
|
||||
label: '缺相锁定',
|
||||
englabel: 'Phase Loss Lockout',
|
||||
zh_CN: '缺相锁定',
|
||||
en_US: 'Phase Loss Lockout',
|
||||
es_ES: 'Bloqueo por falta de fase',
|
||||
fr_FR: 'Verrouillage par perte de phase',
|
||||
de_DE: 'Phasenausfall-Sperre',
|
||||
pl_PL: 'Blokada z powodu zaniku fazy',
|
||||
ar_EG: 'إغلاق بسبب فقدان الطور',
|
||||
field: 'fault24',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '其他故障锁定',
|
||||
englabel: 'Other fault locking',
|
||||
englabel: 'Other Fault Lockout',
|
||||
zh_CN: '其他故障锁定',
|
||||
en_US: 'Other Fault Lockout',
|
||||
es_ES: 'Bloqueo por otras averías',
|
||||
fr_FR: 'Autre blocage de défaut',
|
||||
de_DE: 'Sonstige Fehler-Sperre',
|
||||
pl_PL: 'Blokada z powodu innej awarii',
|
||||
ar_EG: 'إغلاق بسبب أعطال أخرى',
|
||||
field: 'fault25',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '副控通讯故障',
|
||||
englabel: 'Secondary controller communication failure',
|
||||
englabel: 'Sub-Control Communication Fault',
|
||||
zh_CN: '副控通讯故障',
|
||||
en_US: 'Sub-Control Communication Fault',
|
||||
es_ES: 'Avería de comunicación del control secundario',
|
||||
fr_FR: 'Défaut de communication de sous-contrôle',
|
||||
de_DE: 'Untersteuerungs-Kommunikationsfehler',
|
||||
pl_PL: 'Błąd komunikacji podsterownika',
|
||||
ar_EG: 'عطل اتصال وحدة التحكم الفرعية',
|
||||
field: 'fault26',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '制热Pack水温高于65℃',
|
||||
englabel: 'Temperature heating Pack is higher than 65℃',
|
||||
englabel: 'Pack Water Temperature Above 65 °C',
|
||||
zh_CN: '制热Pack水温高于65℃',
|
||||
en_US: 'Pack Water Temperature Above 65 °C',
|
||||
es_ES: 'Temperatura del agua del Pack de calefacción superior a 65°C',
|
||||
fr_FR: "Température de l'eau du pack supérieure à 65 °C",
|
||||
de_DE: 'Packs Wassertemperatur über 65 °C',
|
||||
pl_PL: 'Temperatura wody pakietu powyżej 65 °C',
|
||||
ar_EG: 'درجة حرارة ماء حزمة البطارية أعلى من ٦٥ درجة مئوية',
|
||||
field: 'fault27',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '制冷Pack水温低于5℃',
|
||||
englabel: 'Pack temperature is lower than 5 ° C',
|
||||
englabel: 'Pack Water Temperature Below 5 °C',
|
||||
zh_CN: '制冷Pack水温低于5℃',
|
||||
en_US: 'Pack Water Temperature Below 5 °C',
|
||||
es_ES: 'Temperatura del agua del Pack de refrigeración inferior a 5°C',
|
||||
fr_FR: "Température de l'eau du pack inférieure à 5 °C",
|
||||
de_DE: 'Packs Wassertemperatur unter 5 °C',
|
||||
pl_PL: 'Temperatura wody pakietu poniżej 5 °C',
|
||||
ar_EG: 'درجة حرارة ماء حزمة البطارية أقل من ٥ درجة مئوية',
|
||||
field: 'fault28',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '模式有误',
|
||||
englabel: 'Wrong mode',
|
||||
englabel: 'Incorrect Mode',
|
||||
zh_CN: '模式有误',
|
||||
en_US: 'Incorrect Mode',
|
||||
es_ES: 'Modo incorrecto',
|
||||
fr_FR: 'Mode incorrect',
|
||||
de_DE: 'Falscher Modus',
|
||||
pl_PL: 'Nieprawidłowy tryb pracy',
|
||||
ar_EG: 'وضع غير صحيح',
|
||||
field: 'fault29',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '进出水压力传感器故障',
|
||||
englabel: 'Inlet and outlet water pressure sensor fault',
|
||||
englabel: 'Inlet and Outlet Water Pressure Sensor Fault',
|
||||
zh_CN: '进出水压力传感器故障',
|
||||
en_US: 'Inlet and Outlet Water Pressure Sensor Fault',
|
||||
es_ES: 'Avería del sensor de presión de agua de entrada y salida',
|
||||
fr_FR: "Défaut des capteurs de pression d'eau d'entrée et de sortie",
|
||||
de_DE: 'Einlass-/Auslasswasserdrucksensorfehler',
|
||||
pl_PL: 'Błąd czujnika ciśnienia wody na wejściu i wyjściu',
|
||||
ar_EG: 'عطل مستشعر ضغط الماء في المدخل والمخرج',
|
||||
field: 'fault30',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '水位传感器故障',
|
||||
englabel: 'Water level sensor failure',
|
||||
englabel: 'Water Level Sensor Fault',
|
||||
zh_CN: '水位传感器故障',
|
||||
en_US: 'Water Level Sensor Fault',
|
||||
es_ES: 'Avería del sensor de nivel de agua',
|
||||
fr_FR: "Défaut du capteur de niveau d'eau",
|
||||
de_DE: 'Wassersensorsensorfehler',
|
||||
pl_PL: 'Błąd czujnika poziomu wody',
|
||||
ar_EG: 'عطل مستشعر مستوى الماء',
|
||||
field: 'fault31',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'DCDC故障',
|
||||
englabel: 'DCDC fault',
|
||||
englabel: 'DCDC Fault',
|
||||
zh_CN: 'DCDC故障',
|
||||
en_US: 'DCDC Fault',
|
||||
es_ES: 'Avería del DCDC',
|
||||
fr_FR: 'Défaut DCDC',
|
||||
de_DE: 'DCDC-Fehler',
|
||||
pl_PL: 'Awaria przetwornicy DC/DC',
|
||||
ar_EG: 'عطل DCDC',
|
||||
field: 'fault32',
|
||||
value: ''
|
||||
}
|
||||
|
||||
@ -193,8 +193,8 @@ export default {
|
||||
</div>`
|
||||
})
|
||||
const div = `<div style='border: 1px solid ;
|
||||
border-image: linear-gradient(130deg, #FFFFFF 0%, rgba(201,255,243,0.00) 22%, rgba(201,255,243,0.00) 75%, rgba(201,255,243,0.00) 80%, #FFFFFF 99%, #FFFFFF 99%) 1;
|
||||
box-shadow: inset 0px 2px 16px 0px rgba(0, 148, 255, 0.4);' >${dataStr}</div>`
|
||||
border-image: linear-gradient(130deg, #FFFFFF 0%, rgba(201,255,243,0.00) 22%, rgba(201,255,243,0.00) 75%, rgba(201,255,243,0.00) 80%, #FFFFFF 99%, #FFFFFF 99%) 1;
|
||||
box-shadow: inset 0px 2px 16px 0px rgba(0, 148, 255, 0.4);' >${dataStr}</div>`
|
||||
return div
|
||||
}
|
||||
},
|
||||
|
||||
@ -67,15 +67,15 @@
|
||||
height="400"
|
||||
/>
|
||||
<!-- @click="handleSetting('naBattery-topu')" -->
|
||||
<text x="262" y="80" fill="#ffffff" font-size="14">负载</text>
|
||||
<text x="190" y="180" fill="#ffffff" font-size="14">充电</text>
|
||||
<text x="340" y="330" fill="#ffffff" font-size="14">放电</text>
|
||||
<text x="250" y="410" fill="#ffffff" font-size="14">绝缘材料</text>
|
||||
<text x="262" y="80" fill="#ffffff" font-size="14">{{ $t('pcs.load') }}</text>
|
||||
<text x="190" y="180" fill="#ffffff" font-size="14">{{ $t('pcs.charge') }}</text>
|
||||
<text x="340" y="330" fill="#ffffff" font-size="14">{{ $t('pcs.discharge') }}</text>
|
||||
<text x="250" y="410" fill="#ffffff" font-size="14">{{ $t('pcs.insulatingMaterial') }}</text>
|
||||
<text x="50" y="235" fill="#EA802E" writing-mode="tb" glyph-orientation-vertical="0" font-size="20">
|
||||
正极
|
||||
{{ $t('pcs.positiveElectrode') }}
|
||||
</text>
|
||||
<text x="508" y="235" fill="#62A5ED" writing-mode="tb" glyph-orientation-vertical="0" font-size="20">
|
||||
负极
|
||||
{{ $t('pcs.negativeElectrode') }}
|
||||
</text>
|
||||
<!-- v-if="naBattery.length && +naBattery[0].value > 0" -->
|
||||
<path
|
||||
@ -162,7 +162,7 @@ export default {
|
||||
return {
|
||||
linePath: 'M 200 215 Q 282 158 365 215', // 充电
|
||||
linePath2: 'M 362 284 Q 282 337 200 285', // 定义线条路径
|
||||
value: 'XX直流舱',
|
||||
value: 'XX' + this.$t('pcs.dCCabin'),
|
||||
isChongdian: false,
|
||||
isFangdian: false,
|
||||
line: {
|
||||
@ -271,11 +271,11 @@ export default {
|
||||
},
|
||||
workStatus(val) {
|
||||
if (val === 0) {
|
||||
return '停机'
|
||||
return this.$t('pcs.shutdown')
|
||||
} else if (val === 1) {
|
||||
return '运行'
|
||||
return this.$t('pcs.run')
|
||||
} else if (val === 2) {
|
||||
return '待机'
|
||||
return this.$t('pcs.standby')
|
||||
}
|
||||
},
|
||||
handleSetting(val) {
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
<template>
|
||||
<div class="left-bottom-wrap">
|
||||
<ItemBox title="总有功/PV输出功率">
|
||||
<ItemBox :title="$t('pcs.totalActivePower') + '/' + $t('pcs.pvOutputPower')">
|
||||
<div slot="title-right">
|
||||
<div class="title-right">
|
||||
<div class="title-content">
|
||||
时间粒度:
|
||||
<el-select v-model="timeLidu" placeholder="请选择" style="width:100px" @change="changTime">
|
||||
{{ $t('pcs.timeGranula') }}:
|
||||
<el-select v-model="timeLidu" :placeholder="$t('pcs.select')" style="width:100px" @change="changTime">
|
||||
<el-option
|
||||
v-for="item in times"
|
||||
:key="item.value"
|
||||
@ -33,17 +33,10 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
timeLidu: 1,
|
||||
times: [
|
||||
{ label: '1分钟', value: 1 },
|
||||
{ label: '5分钟', value: 5 },
|
||||
{ label: '10分钟', value: 10 },
|
||||
{ label: '15分钟', value: 15 },
|
||||
{ label: '20分钟', value: 20 },
|
||||
{ label: '30分钟', value: 30 }
|
||||
],
|
||||
times: this.$t('pcs.times'),
|
||||
options: {
|
||||
title: {
|
||||
text: '暂无数据',
|
||||
text: this.$t('pcs.noData'),
|
||||
x: 'center',
|
||||
y: 'center',
|
||||
textStyle: {
|
||||
@ -125,8 +118,8 @@ export default {
|
||||
</div>`
|
||||
})
|
||||
const div = `<div style='border: 1px solid ;
|
||||
border-image: linear-gradient(130deg, #FFFFFF 0%, rgba(201,255,243,0.00) 22%, rgba(201,255,243,0.00) 75%, rgba(201,255,243,0.00) 80%, #FFFFFF 99%, #FFFFFF 99%) 1;
|
||||
box-shadow: inset 0px 2px 16px 0px rgba(0, 148, 255, 0.4);' >${dataStr}</div>`
|
||||
border-image: linear-gradient(130deg, #FFFFFF 0%, rgba(201,255,243,0.00) 22%, rgba(201,255,243,0.00) 75%, rgba(201,255,243,0.00) 80%, #FFFFFF 99%, #FFFFFF 99%) 1;
|
||||
box-shadow: inset 0px 2px 16px 0px rgba(0, 148, 255, 0.4);' >${dataStr}</div>`
|
||||
return div
|
||||
}
|
||||
},
|
||||
@ -149,7 +142,7 @@ box-shadow: inset 0px 2px 16px 0px rgba(0, 148, 255, 0.4);' >${dataStr}</div>`
|
||||
|
||||
{
|
||||
type: 'value',
|
||||
name: '总有功功率(kW)',
|
||||
name: this.$t('pcs.totalActivePower') + '(kW)',
|
||||
axisLabel: {
|
||||
color: '#00C8FF'
|
||||
},
|
||||
@ -165,7 +158,7 @@ box-shadow: inset 0px 2px 16px 0px rgba(0, 148, 255, 0.4);' >${dataStr}</div>`
|
||||
},
|
||||
{
|
||||
type: 'value',
|
||||
name: 'PV输出功率(kW)',
|
||||
name: this.$t('pcs.pvOutputPower') + '(kW)',
|
||||
axisLabel: {
|
||||
color: '#FBBB11'
|
||||
},
|
||||
@ -178,7 +171,6 @@ box-shadow: inset 0px 2px 16px 0px rgba(0, 148, 255, 0.4);' >${dataStr}</div>`
|
||||
max: function(value) {
|
||||
return Math.ceil((Math.abs(value.min) < value.max ? value.max * 1.05 : -value.min * 1.05).toFixed(2))
|
||||
}
|
||||
|
||||
}
|
||||
],
|
||||
dataZoom: [
|
||||
@ -196,7 +188,7 @@ box-shadow: inset 0px 2px 16px 0px rgba(0, 148, 255, 0.4);' >${dataStr}</div>`
|
||||
],
|
||||
series: [
|
||||
{
|
||||
name: '总有功功率',
|
||||
name: this.$t('pcs.totalActivePower'),
|
||||
type: 'line',
|
||||
smooth: true,
|
||||
symbol: 'none',
|
||||
@ -209,7 +201,7 @@ box-shadow: inset 0px 2px 16px 0px rgba(0, 148, 255, 0.4);' >${dataStr}</div>`
|
||||
data: gonglv
|
||||
},
|
||||
{
|
||||
name: 'PV输出功率',
|
||||
name: this.$t('pcs.pvOutputPower'),
|
||||
type: 'line',
|
||||
smooth: true,
|
||||
yAxisIndex: 1,
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="center-top-wrap">
|
||||
<ItemBox title="PCS拓扑图">
|
||||
<ItemBox :title="$t('pcs.pcsToPoTu')">
|
||||
<div class="center-top-container">
|
||||
<svg
|
||||
version="1.1"
|
||||
@ -152,22 +152,22 @@
|
||||
/>
|
||||
<!-- 电池数据 -->
|
||||
<text x="255" y="102" fill="#ffffff" font-size="14">
|
||||
电池
|
||||
{{ $t('pcs.battery') }}
|
||||
</text>
|
||||
<text x="60" y="39" fill="#ffffff" font-size="14">
|
||||
Bus总线电压:
|
||||
{{ $t('pcs.busTotalVoltage') }}:
|
||||
</text>
|
||||
<text x="150" y="39" fill="#FFB800" font-size="14">
|
||||
{{ svgData.BusTotalVol }}
|
||||
</text>
|
||||
<text x="66" y="61" fill="#ffffff" font-size="14">
|
||||
BMS总电流:
|
||||
{{ $t('pcs.bmsTotalCurrent') }}:
|
||||
</text>
|
||||
<text x="150" y="61" fill="#FFB800" font-size="14">
|
||||
{{ svgData.totalCurrent }}
|
||||
</text>
|
||||
<text x="66" y="81" fill="#ffffff" font-size="14">
|
||||
BMS总电压:
|
||||
{{ $t('pcs.bmsTotalVoltage') }}:
|
||||
</text>
|
||||
<text x="150" y="81" fill="#FFB800" font-size="14">
|
||||
{{ svgData.totalVol }}
|
||||
@ -186,19 +186,19 @@
|
||||
</text>
|
||||
<!-- 光伏数据 -->
|
||||
<text x="255" y="395" fill="#ffffff" font-size="14">
|
||||
光伏
|
||||
{{ $t('pcs.photovoltaic') }}
|
||||
</text>
|
||||
<text x="63" y="213" fill="#ffffff" font-size="14">
|
||||
PV输出功率:
|
||||
{{ $t('pcs.pvOutputPower') }}:
|
||||
</text>
|
||||
<text x="150" y="213" fill="#FFB800" font-size="14">
|
||||
{{ svgData.acActivePower }}
|
||||
</text>
|
||||
<text x="70" y="242" fill="#ffffff" font-size="14">
|
||||
电流
|
||||
{{ $t('pcs.curret') }}
|
||||
</text>
|
||||
<text x="140" y="242" fill="#ffffff" font-size="14">
|
||||
电压
|
||||
{{ $t('pcs.vol') }}
|
||||
</text>
|
||||
<text x="43" y="262" fill="#ffffff" font-size="14">
|
||||
PV1:
|
||||
@ -293,19 +293,19 @@
|
||||
|
||||
<!-- ACDC 直流交流 -->
|
||||
<text x="475" y="245" fill="#ffffff" font-size="14">
|
||||
逆变有功:
|
||||
{{ $t('pcs.inverterActive') }}:
|
||||
</text>
|
||||
<text x="540" y="245" fill="#FFB800" font-size="14">
|
||||
{{ svgData.outputPower }}
|
||||
</text>
|
||||
<text x="475" y="265" fill="#ffffff" font-size="14">
|
||||
逆变无功:
|
||||
{{ $t('pcs.inverterReactive') }}:
|
||||
</text>
|
||||
<text x="540" y="265" fill="#FFB800" font-size="14">
|
||||
{{ svgData.reactivePowerPCS }}
|
||||
</text>
|
||||
<text x="450" y="285" fill="#ffffff" font-size="14">
|
||||
逆变功率因数:
|
||||
{{ $t('pcs.inverterPowerFactor') }}:
|
||||
</text>
|
||||
<text x="540" y="285" fill="#FFB800" font-size="14">
|
||||
{{ svgData.powerFactor }}
|
||||
@ -313,34 +313,34 @@
|
||||
|
||||
<!-- 储能侧电表 数据 -->
|
||||
<text x="680" y="410" fill="#ffffff" font-size="14">
|
||||
储能侧电表
|
||||
{{ $t('pcs.energyStorageSideMeter') }}
|
||||
</text>
|
||||
<text x="668" y="430" fill="#ffffff" font-size="14">
|
||||
有功功率:
|
||||
{{ $t('pcs.active') }}:
|
||||
</text>
|
||||
<text x="730" y="430" fill="#FFB800" font-size="14">
|
||||
{{ svgData.torageMeter }}
|
||||
</text>
|
||||
<!-- 负载 数据 -->
|
||||
<text x="910" y="410" fill="#ffffff" font-size="14">
|
||||
负载
|
||||
{{ $t('pcs.load') }}
|
||||
</text>
|
||||
<!-- 负载侧电表 数据 -->
|
||||
<text x="965" y="290" fill="#ffffff" font-size="14">
|
||||
负载侧电表
|
||||
{{ $t('pcs.loadSideMeter') }}
|
||||
</text>
|
||||
<text x="945" y="310" fill="#ffffff" font-size="14">
|
||||
有功功率:
|
||||
{{ $t('pcs.active') }}:
|
||||
</text>
|
||||
<text x="1010" y="310" fill="#FFB800" font-size="14">
|
||||
{{ svgData.loadMeter }}
|
||||
</text>
|
||||
<!-- 并网侧电表 数据 -->
|
||||
<text x="1180" y="295" fill="#ffffff" font-size="14">
|
||||
并网侧电表
|
||||
{{ $t('pcs.gridConnectedSideMeter') }}
|
||||
</text>
|
||||
<text x="1160" y="315" fill="#ffffff" font-size="14">
|
||||
有功功率:
|
||||
{{ $t('pcs.active') }}:
|
||||
</text>
|
||||
<text x="1222" y="315" fill="#FFB800" font-size="14">
|
||||
{{ svgData.gridMeter }}
|
||||
@ -393,11 +393,11 @@ export default {
|
||||
methods: {
|
||||
workStatus(val) {
|
||||
if (val === 0) {
|
||||
return '停机'
|
||||
return this.$t('pcs.shutdown')
|
||||
} else if (val === 1) {
|
||||
return '运行'
|
||||
return this.$t('pcs.run')
|
||||
} else if (val === 2) {
|
||||
return '待机'
|
||||
return this.$t('pcs.standby')
|
||||
}
|
||||
},
|
||||
async getData(stationId, srcId) {
|
||||
|
||||
@ -23,8 +23,9 @@
|
||||
:key="item.label"
|
||||
class="box-title"
|
||||
>
|
||||
<span v-if="language === 'en'" class="title">{{ item.englabel }}:</span>
|
||||
<span v-else class="title">{{ item.label }}:</span>
|
||||
<!-- <span v-if="language === 'en'" class="title">{{ item.englabel }}:</span>
|
||||
<span v-else class="title">{{ item.label }}:</span> -->
|
||||
<span class="title">{{ item[language] }}:</span>
|
||||
<span class="value">{{ item.value }}</span>
|
||||
<span class="unit">{{ item.unit }}</span>
|
||||
</div>
|
||||
@ -40,8 +41,9 @@
|
||||
:key="item.label"
|
||||
class="box-title"
|
||||
>
|
||||
<span v-if="language === 'en'" class="title">{{ item.englabel }}:</span>
|
||||
<span v-else class="title">{{ item.label }}:</span>
|
||||
<!-- <span v-if="language === 'en'" class="title">{{ item.englabel }}:</span>
|
||||
<span v-else class="title">{{ item.label }}:</span> -->
|
||||
<span class="title">{{ item[language] }}:</span>
|
||||
<span class="value">{{ item.value }}</span>
|
||||
<span class="unit">{{ item.unit }}</span>
|
||||
</div>
|
||||
@ -354,15 +356,15 @@ export default {
|
||||
props: {},
|
||||
data() {
|
||||
return {
|
||||
value: 'XX直流舱',
|
||||
value: 'XX' + this.$t('pcs.dCCabin'),
|
||||
times: [
|
||||
{ label: 'XX直流舱', value: 'XX直流舱' },
|
||||
{ label: 'XX1直流舱', value: 'XX1直流舱' },
|
||||
{ label: 'XX2直流舱', value: 'XX2直流舱' },
|
||||
{ label: 'XX3直流舱', value: 'XX3直流舱' }
|
||||
{ label: 'XX ' + this.$t('pcs.dCCabin'), value: 'XX' + this.$t('pcs.dCCabin') },
|
||||
{ label: 'XX1 ' + this.$t('pcs.dCCabin'), value: 'XX1' + this.$t('pcs.dCCabin') },
|
||||
{ label: 'XX2 ' + this.$t('pcs.dCCabin'), value: 'XX2' + this.$t('pcs.dCCabin') },
|
||||
{ label: 'XX3 ' + this.$t('pcs.dCCabin'), value: 'XX3' + this.$t('pcs.dCCabin') }
|
||||
],
|
||||
config: {
|
||||
header: ['告警'],
|
||||
header: [this.$t('pcs.alarm')],
|
||||
data: [],
|
||||
columnWidth: [],
|
||||
align: ['center', 'center', 'center', 'center'],
|
||||
|
||||
@ -3,7 +3,8 @@
|
||||
<div class="left-top-wrap">
|
||||
<ItemBox :title="$t('pcs.faultSign')">
|
||||
<div slot="title-right" />
|
||||
<ColListData v-loading="loading" :col-list-data="pcsRightData" :label-key="language === 'en' ? 'englabel' : 'label'" />
|
||||
<!-- <ColListData v-loading="loading" :col-list-data="pcsRightData" :label-key="language === 'en' ? 'englabel' : 'label'" /> -->
|
||||
<ColListData v-loading="loading" :col-list-data="pcsRightData" :label-key="language" />
|
||||
</ItemBox>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -10,8 +10,9 @@
|
||||
<div v-loading="loading" class="top-bottom-container">
|
||||
<div class="top">
|
||||
<div class="item-wrap">
|
||||
<div v-if="language === 'en'" class="name">{{ DehumidifierTopData[0].englabel }}</div>
|
||||
<div v-else class="name">{{ DehumidifierTopData[0].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ DehumidifierTopData[0].englabel }}</div>
|
||||
<div v-else class="name">{{ DehumidifierTopData[0].label }}</div> -->
|
||||
<div class="name">{{ DehumidifierTopData[0][language] }}</div>
|
||||
<div class="line" />
|
||||
<div class="value-wrap">
|
||||
<div class="value">{{ DehumidifierTopData[0].value }}</div>
|
||||
@ -19,8 +20,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-wrap">
|
||||
<div v-if="language === 'en'" class="name">{{ DehumidifierTopData[1].englabel }}</div>
|
||||
<div v-else class="name">{{ DehumidifierTopData[1].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ DehumidifierTopData[1].englabel }}</div>
|
||||
<div v-else class="name">{{ DehumidifierTopData[1].label }}</div> -->
|
||||
<div class="name">{{ DehumidifierTopData[1][language] }}</div>
|
||||
<div class="line" />
|
||||
<div class="value-wrap">
|
||||
<div class="value">{{ DehumidifierTopData[1].value }}</div>
|
||||
@ -28,8 +30,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-wrap">
|
||||
<div v-if="language === 'en'" class="name">{{ DehumidifierTopData[2].englabel }}</div>
|
||||
<div v-else class="name">{{ DehumidifierTopData[2].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ DehumidifierTopData[2].englabel }}</div>
|
||||
<div v-else class="name">{{ DehumidifierTopData[2].label }}</div> -->
|
||||
<div class="name">{{ DehumidifierTopData[2][language] }}</div>
|
||||
<div class="line" />
|
||||
<div class="value-wrap">
|
||||
<div class="value">{{ DehumidifierTopData[2].value }}</div>
|
||||
@ -37,8 +40,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-wrap">
|
||||
<div v-if="language === 'en'" class="name">{{ DehumidifierTopData[3].englabel }}</div>
|
||||
<div v-else class="name">{{ DehumidifierTopData[3].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ DehumidifierTopData[3].englabel }}</div>
|
||||
<div v-else class="name">{{ DehumidifierTopData[3].label }}</div> -->
|
||||
<div class="name">{{ DehumidifierTopData[3][language] }}</div>
|
||||
<div class="line" />
|
||||
<div class="value-wrap">
|
||||
<div class="value">{{ DehumidifierTopData[3].value }}</div>
|
||||
@ -47,7 +51,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<ColListData v-loading="loading" :col-list-data="DehumidifierBottomData" :label-key="language === 'en' ? 'englabel' : 'label'" />
|
||||
<!-- <ColListData v-loading="loading" :col-list-data="DehumidifierBottomData" :label-key="language === 'en' ? 'englabel' : 'label'" /> -->
|
||||
<ColListData v-loading="loading" :col-list-data="DehumidifierBottomData" :label-key="language" />
|
||||
</div>
|
||||
</div>
|
||||
</ItemBox>
|
||||
|
||||
@ -11,16 +11,18 @@
|
||||
<div v-loading="loading" class="con-box">
|
||||
<div class="dianbiao-container">
|
||||
<div v-for="item in ElectricityMeterData" :key="item.label" class="item-dianbiao">
|
||||
<div v-if="language === 'en'" class="label">{{ item.englabel }}</div>
|
||||
<div v-else class="label">{{ item.label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="label">{{ item.englabel }}</div>
|
||||
<div v-else class="label">{{ item.label }}</div> -->
|
||||
<div class="label">{{ item[language] }}</div>
|
||||
<div class="value">{{ item.value }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="right-bottom">
|
||||
<div class="yougonglv-wrap">
|
||||
<div class="top">
|
||||
<div v-if="language === 'en'" class="name">{{ ElectricityMeterBottomData[0].englabel }}</div>
|
||||
<div v-else class="name">{{ ElectricityMeterBottomData[0].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ ElectricityMeterBottomData[0].englabel }}</div>
|
||||
<div v-else class="name">{{ ElectricityMeterBottomData[0].label }}</div> -->
|
||||
<div class="name">{{ ElectricityMeterBottomData[0][language] }}</div>
|
||||
<div class="top-value">
|
||||
<span class="value">{{ ElectricityMeterBottomData[0].value }}</span>
|
||||
<span class="unit">kW</span>
|
||||
@ -28,26 +30,30 @@
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="item">
|
||||
<div v-if="language === 'en'" class="name">{{ ElectricityMeterBottomData[1].englabel }}</div>
|
||||
<div v-else class="name">{{ ElectricityMeterBottomData[1].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ ElectricityMeterBottomData[1].englabel }}</div>
|
||||
<div v-else class="name">{{ ElectricityMeterBottomData[1].label }}</div> -->
|
||||
<div class="name">{{ ElectricityMeterBottomData[1][language] }}</div>
|
||||
<span class="value">{{ ElectricityMeterBottomData[1].value }}</span>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div v-if="language === 'en'" class="name">{{ ElectricityMeterBottomData[2].englabel }}</div>
|
||||
<div v-else class="name">{{ ElectricityMeterBottomData[2].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ ElectricityMeterBottomData[2].englabel }}</div>
|
||||
<div v-else class="name">{{ ElectricityMeterBottomData[2].label }}</div> -->
|
||||
<div class="name">{{ ElectricityMeterBottomData[2][language] }}</div>
|
||||
<div class="value">{{ ElectricityMeterBottomData[2].value }}</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div v-if="language === 'en'" class="name">{{ ElectricityMeterBottomData[3].englabel }}</div>
|
||||
<div v-else class="name">{{ ElectricityMeterBottomData[3].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ ElectricityMeterBottomData[3].englabel }}</div>
|
||||
<div v-else class="name">{{ ElectricityMeterBottomData[3].label }}</div> -->
|
||||
<div class="name">{{ ElectricityMeterBottomData[3][language] }}</div>
|
||||
<div class="value">{{ ElectricityMeterBottomData[3].value }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="yougonglv-wrap wugonglv">
|
||||
<div class="top">
|
||||
<div v-if="language === 'en'" class="name">{{ ElectricityMeterBottomData[4].englabel }}</div>
|
||||
<div v-else class="name">{{ ElectricityMeterBottomData[4].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ ElectricityMeterBottomData[4].englabel }}</div>
|
||||
<div v-else class="name">{{ ElectricityMeterBottomData[4].label }}</div> -->
|
||||
<div class="name">{{ ElectricityMeterBottomData[4][language] }}</div>
|
||||
<div class="top-value">
|
||||
<span class="value">{{ ElectricityMeterBottomData[4].value }}</span>
|
||||
<span class="unit">kVar</span>
|
||||
@ -55,18 +61,21 @@
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="item">
|
||||
<div v-if="language === 'en'" class="name">{{ ElectricityMeterBottomData[5].englabel }}</div>
|
||||
<div v-else class="name">{{ ElectricityMeterBottomData[5].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ ElectricityMeterBottomData[5].englabel }}</div>
|
||||
<div v-else class="name">{{ ElectricityMeterBottomData[5].label }}</div> -->
|
||||
<div class="name">{{ ElectricityMeterBottomData[5][language] }}</div>
|
||||
<span class="value">{{ ElectricityMeterBottomData[5].value }}</span>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div v-if="language === 'en'" class="name">{{ ElectricityMeterBottomData[6].englabel }}</div>
|
||||
<div v-else class="name">{{ ElectricityMeterBottomData[6].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ ElectricityMeterBottomData[6].englabel }}</div>
|
||||
<div v-else class="name">{{ ElectricityMeterBottomData[6].label }}</div> -->
|
||||
<div class="name">{{ ElectricityMeterBottomData[6][language] }}</div>
|
||||
<div class="value">{{ ElectricityMeterBottomData[6].value }}</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<div v-if="language === 'en'" class="name">{{ ElectricityMeterBottomData[7].englabel }}</div>
|
||||
<div v-else class="name">{{ ElectricityMeterBottomData[7].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ ElectricityMeterBottomData[7].englabel }}</div>
|
||||
<div v-else class="name">{{ ElectricityMeterBottomData[7].label }}</div> -->
|
||||
<div class="name">{{ ElectricityMeterBottomData[7][language] }}</div>
|
||||
<div class="value">{{ ElectricityMeterBottomData[7].value }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -3,11 +3,11 @@
|
||||
<ItemBox title="IO">
|
||||
<div class="center-top-container">
|
||||
<div v-for="item in IODataTop" :key="item.label" class="error-item-point-wrap">
|
||||
<div class="label">{{ item.label }}</div>
|
||||
<div class="label">{{ item[language] }}</div>
|
||||
<div class="point" :class="item.value ? 'success' : 'error'" />
|
||||
</div>
|
||||
<div v-for="item in IODataBottom" :key="item.label" :class="item.value ? 'error-item-wrap' : 'item-wrap'">
|
||||
<div class="label">{{ item.label }}</div>
|
||||
<div class="label">{{ item[language] }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</ItemBox>
|
||||
@ -29,7 +29,11 @@ export default {
|
||||
IODataBottom
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
computed: {
|
||||
language() {
|
||||
return this.$store.getters.language || undefined
|
||||
}
|
||||
},
|
||||
watch: {},
|
||||
created() {
|
||||
// this.getChatData()
|
||||
|
||||
@ -12,22 +12,24 @@
|
||||
<div class="content">
|
||||
<div class="center-item">
|
||||
<div class="box-title">
|
||||
<span v-if="language === 'en'" class="title">{{ IODataTop[0].englabel }}:</span>
|
||||
<span v-else class="title">{{ IODataTop[0].label }}:</span>
|
||||
|
||||
<!-- <span v-if="language === 'en'" class="title">{{ IODataTop[0].englabel }}:</span>
|
||||
<span v-else class="title">{{ IODataTop[0].label }}:</span> -->
|
||||
<span class="title">{{ IODataTop[0][language] }}:</span>
|
||||
<span class="value">{{ IODataTop[0].value ? $t('pcs.on') : $t('pcs.off')
|
||||
}}</span>
|
||||
</div>
|
||||
<div class="box-title">
|
||||
<span v-if="language === 'en'" class="title">{{ IODataTop[1].englabel }}:</span>
|
||||
<span v-else class="title">{{ IODataTop[1].label }}:</span>
|
||||
<!-- <span v-if="language === 'en'" class="title">{{ IODataTop[1].englabel }}:</span>
|
||||
<span v-else class="title">{{ IODataTop[1].label }}:</span> -->
|
||||
<span class="title">{{ IODataTop[1][language] }}:</span>
|
||||
|
||||
<span class="value">{{ IODataTop[1].value ? $t('pcs.distance') : $t('pcs.local')
|
||||
}}</span>
|
||||
</div>
|
||||
<div class="box-title">
|
||||
<span v-if="language === 'en'" class="title">{{ IODataTop[2].englabel }}:</span>
|
||||
<span v-else class="title">{{ IODataTop[2].label }}:</span>
|
||||
<!-- <span v-if="language === 'en'" class="title">{{ IODataTop[2].englabel }}:</span>
|
||||
<span v-else class="title">{{ IODataTop[2].label }}:</span> -->
|
||||
<span class="title">{{ IODataTop[2][language] }}:</span>
|
||||
|
||||
<span class="value">{{ IODataTop[2].value ? $t('pcs.on') : $t('pcs.off')
|
||||
}}</span>
|
||||
@ -35,8 +37,9 @@
|
||||
</div>
|
||||
<div class="item-alarm">
|
||||
<div v-for="item in IODataBottom" :key="item.label" :class="item.value ? 'error-item-wrap' : 'item-wrap'">
|
||||
<div v-if="language === 'en'" class="label">{{ item.englabel }}</div>
|
||||
<div v-else class="label">{{ item.label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="label">{{ item.englabel }}</div>
|
||||
<div v-else class="label">{{ item.label }}</div> -->
|
||||
<div class="label">{{ item[language] }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -10,8 +10,9 @@
|
||||
<div v-loading="loading" class="top-bottom-container">
|
||||
<div class="top">
|
||||
<div class="item-wrap">
|
||||
<div v-if="language === 'en'" class="name">{{ TemperatureControlTOPData[0].englabel }}</div>
|
||||
<div v-else class="name">{{ TemperatureControlTOPData[0].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ TemperatureControlTOPData[0].englabel }}</div>
|
||||
<div v-else class="name">{{ TemperatureControlTOPData[0].label }}</div> -->
|
||||
<div class="name">{{ TemperatureControlTOPData[0][language] }}</div>
|
||||
|
||||
<div class="line" />
|
||||
<div class="value-wrap">
|
||||
@ -20,8 +21,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-wrap">
|
||||
<div v-if="language === 'en'" class="name">{{ TemperatureControlTOPData[1].englabel }}</div>
|
||||
<div v-else class="name">{{ TemperatureControlTOPData[1].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ TemperatureControlTOPData[1].englabel }}</div>
|
||||
<div v-else class="name">{{ TemperatureControlTOPData[1].label }}</div> -->
|
||||
<div class="name">{{ TemperatureControlTOPData[1][language] }}</div>
|
||||
<div class="line" />
|
||||
<div class="value-wrap">
|
||||
<div class="value">{{ TemperatureControlTOPData[1].value }}</div>
|
||||
@ -29,8 +31,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="item-wrap">
|
||||
<div v-if="language === 'en'" class="name">{{ TemperatureControlTOPData[2].englabel }}</div>
|
||||
<div v-else class="name">{{ TemperatureControlTOPData[2].label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="name">{{ TemperatureControlTOPData[2].englabel }}</div>
|
||||
<div v-else class="name">{{ TemperatureControlTOPData[2].label }}</div> -->
|
||||
<div class="name">{{ TemperatureControlTOPData[2][language] }}</div>
|
||||
<div class="line" />
|
||||
<div class="value-wrap">
|
||||
<div class="value">{{ TemperatureControlTOPData[2].value }}</div>
|
||||
@ -39,7 +42,8 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<ColListData v-loading="loading" :col-list-data="TemperatureControlBottomData" :label-key="language === 'en' ? 'englabel' : 'label'" />
|
||||
<!-- <ColListData v-loading="loading" :col-list-data="TemperatureControlBottomData" :label-key="language === 'en' ? 'englabel' : 'label'" /> -->
|
||||
<ColListData v-loading="loading" :col-list-data="TemperatureControlBottomData" :label-key="language" />
|
||||
</div>
|
||||
</div>
|
||||
</ItemBox>
|
||||
|
||||
@ -1,19 +1,40 @@
|
||||
export const IODataTop = [
|
||||
{
|
||||
label: '并网柜开关位置',
|
||||
englabel: 'Position of the EMU switch',
|
||||
englabel: 'Interconnection Cabinet Switch Position',
|
||||
zh_CN: '并网柜开关位置',
|
||||
en_US: 'Interconnection Cabinet Switch Position',
|
||||
es_ES: 'Posición del interruptor del armario de conexión a la red',
|
||||
fr_FR: "Position d'interrupteur de l'armoire d'interconnexion",
|
||||
de_DE: 'Schaltstellung des Zusammenschaltschranks',
|
||||
pl_PL: 'Szafa połączeniowa – pozycja przełącznika',
|
||||
ar_EG: 'موضع فتح خزانة الربط النبني',
|
||||
field: 'EMURingMainCabinetSwitchClosed',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '并网柜远方操作',
|
||||
englabel: 'EMU remote operation',
|
||||
englabel: 'Interconnection Cabinet Remote Operation',
|
||||
zh_CN: '并网柜远方操作',
|
||||
en_US: 'Interconnection Cabinet Remote Operation',
|
||||
es_ES: 'Operación remota del armario de conexión a la red',
|
||||
fr_FR: "Opération distante de l'armoire d'interconnexion",
|
||||
de_DE: 'Fernbedienung des Zusammenschaltschranks',
|
||||
pl_PL: 'Szafa połączeniowa – sterowanie zdalne',
|
||||
ar_EG: 'التشغيل عن بعد لخزانة الربط النبني',
|
||||
field: 'EMURemoteNetworkCabinet',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '并网柜地刀位置',
|
||||
englabel: 'EMU floor knife position',
|
||||
englabel: 'Interconnection Cabinet Grounding Circuit Breaker Position',
|
||||
zh_CN: '并网柜地刀位置',
|
||||
en_US: 'Interconnection Cabinet Grounding Circuit Breaker Position',
|
||||
es_ES: 'Posición del cortacircuitos a tierra del armario de conexión a la red',
|
||||
fr_FR: "Position du disjoncteur de mise à la terre de l'armoire d'interconnexion",
|
||||
de_DE: 'Schaltstellung des Erdungsleistungsschalters im Zusammenschaltschranks',
|
||||
pl_PL: 'Szafa połączeniowa – pozycja wyłącznika uziemiającego',
|
||||
ar_EG: 'موضع قاطع الدارة التاريدين لخزانة الربط النبني',
|
||||
field: 'EMUCabinetSwitchClosingPosition',
|
||||
value: ''
|
||||
}
|
||||
@ -21,31 +42,66 @@ export const IODataTop = [
|
||||
export const IODataBottom = [
|
||||
{
|
||||
label: '总告警状态',
|
||||
englabel: 'Total alarm status',
|
||||
englabel: 'General Alarm Status',
|
||||
zh_CN: '总告警状态',
|
||||
en_US: 'General Alarm Status',
|
||||
es_ES: 'Estado general de alarma',
|
||||
fr_FR: "État général d'alarme",
|
||||
de_DE: 'Allgemeiner Alarmstatus',
|
||||
pl_PL: 'Stan alarmu ogólnego',
|
||||
ar_EG: 'حالة الإنذار العام',
|
||||
field: 'EMUTotalEquipmentlAlarmStatus',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '变压器门禁告警',
|
||||
englabel: 'Transformer access control alarm',
|
||||
englabel: 'Transformer Access Alarm',
|
||||
zh_CN: '变压器门禁告警',
|
||||
en_US: 'Transformer Access Alarm',
|
||||
es_ES: 'Alarma de acceso al transformador',
|
||||
fr_FR: "Alarme d'accès au transformateur",
|
||||
de_DE: 'Transformatorzugangsalarm',
|
||||
pl_PL: 'Alarm dostępu do transformatora',
|
||||
ar_EG: 'إنذار دخول المحول',
|
||||
field: 'EMUTransformerAccessControlAlarm',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '烟感告警',
|
||||
englabel: 'Smoke alarm',
|
||||
englabel: 'Smoke Alarm',
|
||||
zh_CN: '烟感告警',
|
||||
en_US: 'Smoke Alarm',
|
||||
es_ES: 'Alarma de detector de humo',
|
||||
fr_FR: 'Alarme de fumée',
|
||||
de_DE: 'Rauchalarm',
|
||||
pl_PL: 'Alarm dymu',
|
||||
ar_EG: 'كشف الدخان',
|
||||
field: 'EMUSmokeAlarm',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '温控箱告警',
|
||||
englabel: 'Temperature control box alarm',
|
||||
englabel: 'Thermal Regulation Cabinet Alarm',
|
||||
zh_CN: '温控箱告警',
|
||||
en_US: 'Thermal Regulation Cabinet Alarm',
|
||||
es_ES: 'Alarma de caja de control de temperatura',
|
||||
fr_FR: 'Alarme du coffret de régulation thermique',
|
||||
de_DE: 'Klimaschrankalarm',
|
||||
pl_PL: 'Alarm szafy regulacji termicznej',
|
||||
ar_EG: 'إنذار خزانة التظمير الحراري',
|
||||
field: 'EMUTemperatureControlBoxAlarm',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '超温告警',
|
||||
englabel: 'Over-temperature alarm',
|
||||
englabel: 'Overheat Alarm',
|
||||
zh_CN: '超温告警',
|
||||
en_US: 'Overheat Alarm',
|
||||
es_ES: 'Alarma de temperatura excesiva',
|
||||
fr_FR: 'Alarme de surchauffe',
|
||||
de_DE: 'Überhitzungsalarm',
|
||||
pl_PL: 'Alarm przegrzania',
|
||||
ar_EG: 'إنذار ارتفاع الحرارة',
|
||||
field: 'EMUOverTemperatureAlarm',
|
||||
value: ''
|
||||
}
|
||||
@ -53,6 +109,14 @@ export const IODataBottom = [
|
||||
export const IODataState = [
|
||||
{
|
||||
label: '总设备状态',
|
||||
englabel: 'Overall Equipment Status',
|
||||
zh_CN: '总设备状态',
|
||||
en_US: 'Overall Equipment Status',
|
||||
es_ES: 'Estado general del equipo',
|
||||
fr_FR: "État global de l'équipement",
|
||||
de_DE: 'Gesamtgerätestatus',
|
||||
pl_PL: 'Ogólny stan urządzenia',
|
||||
ar_EG: 'حالة العمالة للمعدات',
|
||||
field: 'EMUDeviceOnlineStatus',
|
||||
value: ''
|
||||
}
|
||||
@ -61,20 +125,40 @@ export const IODataState = [
|
||||
export const TemperatureControlTOPData = [
|
||||
{
|
||||
label: 'A相温度',
|
||||
englabel: 'A-phase temperature',
|
||||
englabel: 'Phase A Temperature',
|
||||
zh_CN: 'A相温度',
|
||||
en_US: 'Phase A Temperature',
|
||||
es_ES: 'Temperatura de fase A',
|
||||
fr_FR: 'Température de phase A',
|
||||
de_DE: 'Phase-A-Temperatur',
|
||||
pl_PL: 'Phase A Temperature',
|
||||
ar_EG: 'درجة حرارة المطور A',
|
||||
field: 'EMUBoxPhaseATemperature',
|
||||
value: ''
|
||||
},
|
||||
|
||||
{
|
||||
label: 'B相温度',
|
||||
englabel: 'B-phase temperature',
|
||||
englabel: 'Phase B Temperature',
|
||||
zh_CN: 'B相温度',
|
||||
en_US: 'Phase B Temperature',
|
||||
es_ES: 'Temperatura de fase B',
|
||||
fr_FR: 'Température de phase B',
|
||||
de_DE: 'Phase-B-Temperatur',
|
||||
pl_PL: 'Phase B Temperature',
|
||||
ar_EG: 'درجة حرارة المطور B',
|
||||
field: 'EMUBoxPhaseBTemperature',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'C相温度',
|
||||
englabel: 'C-phase temperature',
|
||||
englabel: 'Phase C Temperature',
|
||||
zh_CN: 'C相温度',
|
||||
en_US: 'Phase C Temperature',
|
||||
es_ES: 'Temperatura de fase C',
|
||||
fr_FR: 'Température de phase C',
|
||||
de_DE: 'Phase-C-Temperatur',
|
||||
pl_PL: 'Phase C Temperature',
|
||||
ar_EG: 'درجة حرارة المطور C',
|
||||
field: 'EMUBoxPhaseCTemperature',
|
||||
value: ''
|
||||
}
|
||||
@ -82,26 +166,53 @@ export const TemperatureControlTOPData = [
|
||||
export const TemperatureControlBottomData = [
|
||||
{
|
||||
label: '风机控制',
|
||||
englabel: 'Fan control',
|
||||
englabel: 'Fan Control',
|
||||
zh_CN: '风机控制',
|
||||
en_US: 'Fan Control',
|
||||
es_ES: 'Control del ventilador',
|
||||
fr_FR: 'Contrôle du ventilateur',
|
||||
de_DE: 'Lüftersteuerung',
|
||||
pl_PL: 'Sterowanie wentylatorem',
|
||||
ar_EG: 'التحكم في المروحة',
|
||||
field: 'emuTempControlStateBit0',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '超温跳闸',
|
||||
englabel: 'Overtemperature trip',
|
||||
englabel: 'Overheat Trip',
|
||||
zh_CN: '超温跳闸',
|
||||
en_US: 'Overheat Trip',
|
||||
es_ES: 'Disparo por sobretemperatura',
|
||||
fr_FR: 'Déclenchement de surchauffe',
|
||||
de_DE: 'Überhitzungsauslösung',
|
||||
pl_PL: 'Wyłączenie z powodu przegrzania',
|
||||
ar_EG: 'فصل ارتفاع الحرارة',
|
||||
field: 'emuTempControlStateBit1',
|
||||
value: ''
|
||||
},
|
||||
|
||||
{
|
||||
label: '超温报警',
|
||||
englabel: 'Overtemperature alarm',
|
||||
englabel: 'Overheat Alarm',
|
||||
zh_CN: '超温报警',
|
||||
en_US: 'Overheat Alarm',
|
||||
es_ES: 'Alarma de sobretemperatura',
|
||||
fr_FR: 'Alarme de surchauffe',
|
||||
de_DE: 'Überhitzungsalarm',
|
||||
pl_PL: 'Alarm przegrzania',
|
||||
ar_EG: 'إنذار ارتفاع الحرارة',
|
||||
field: 'emuTempControlStateBit2',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '故障报警',
|
||||
englabel: 'Fault alarm',
|
||||
englabel: 'Fault Alarm',
|
||||
zh_CN: '故障报警',
|
||||
en_US: 'Fault Alarm',
|
||||
es_ES: 'Alarma de avería',
|
||||
fr_FR: 'Alarme de défaut',
|
||||
de_DE: 'Fehleralarm',
|
||||
pl_PL: 'Alarm awarii',
|
||||
ar_EG: 'إنذار عطل',
|
||||
field: 'emuTempControlStateBit3',
|
||||
value: ''
|
||||
}
|
||||
@ -109,6 +220,14 @@ export const TemperatureControlBottomData = [
|
||||
export const TemperatureControlStateData = [
|
||||
{
|
||||
label: '温控箱状态',
|
||||
englabel: 'Thermal Regulation Cabinet Status',
|
||||
zh_CN: '温控箱状态',
|
||||
en_US: 'Thermal Regulation Cabinet Status',
|
||||
es_ES: 'Estado de la caja de control de temperatura',
|
||||
fr_FR: 'État du coffret de régulation thermique',
|
||||
de_DE: 'Status des Klimaschranks',
|
||||
pl_PL: 'Stan szafy regulacji termicznej',
|
||||
ar_EG: 'حالة خزانة التظمير الحراري',
|
||||
field: 'EMUBoxOnlineStatus',
|
||||
value: ''
|
||||
}
|
||||
@ -116,87 +235,183 @@ export const TemperatureControlStateData = [
|
||||
export const ElectricityMeterData = [
|
||||
{
|
||||
label: 'A相电压(V)',
|
||||
englabel: 'A-phase voltage(V)',
|
||||
englabel: 'Phase A Voltage (V)',
|
||||
zh_CN: 'A相电压(V)',
|
||||
en_US: 'Phase A Voltage (V)',
|
||||
es_ES: 'Voltaje de fase A (V)',
|
||||
fr_FR: 'Tension de phase A (V)',
|
||||
de_DE: 'Phase-A-Spannung (V)',
|
||||
pl_PL: 'Faza A – napięcie (V)',
|
||||
ar_EG: 'جهاز المطور A',
|
||||
field: 'EMUPhaseVoltageUA',
|
||||
value: '123456'
|
||||
},
|
||||
{
|
||||
label: 'A相电流(A)',
|
||||
englabel: 'A-phase current(V)',
|
||||
englabel: 'Phase A Current (A)',
|
||||
zh_CN: 'A相电流(A)',
|
||||
en_US: 'Phase A Current (A)',
|
||||
es_ES: 'Corriente de fase A (A)',
|
||||
fr_FR: 'Courant de phase A (A)',
|
||||
de_DE: 'Phase-A-Strom (A)',
|
||||
pl_PL: 'Faza A – prąd (A)',
|
||||
ar_EG: 'تباين المطور A',
|
||||
field: 'EMUIA',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'B相电压(V)',
|
||||
englabel: 'B-phase voltage(V)',
|
||||
englabel: 'Phase B Voltage (V)',
|
||||
zh_CN: 'B相电压(V)',
|
||||
en_US: 'Phase B Voltage (V)',
|
||||
es_ES: 'Voltaje de fase B (V)',
|
||||
fr_FR: 'Tension de phase B (V)',
|
||||
de_DE: 'Phase-B-Spannung (V)',
|
||||
pl_PL: 'Faza B – napięcie (V)',
|
||||
ar_EG: 'جهاز المطور B',
|
||||
field: 'EMUPhaseVoltageUB',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'B相电流(A)',
|
||||
englabel: 'B-phase current(V)',
|
||||
englabel: 'Phase B Current (A)',
|
||||
zh_CN: 'B相电流(A)',
|
||||
en_US: 'Phase B Current (A)',
|
||||
es_ES: 'Corriente de fase B (A)',
|
||||
fr_FR: 'Courant de phase B (A)',
|
||||
de_DE: 'Phase-B-Strom (A)',
|
||||
pl_PL: 'Faza B – prąd (A)',
|
||||
ar_EG: 'تباين المطور B',
|
||||
field: 'EMUIB',
|
||||
value: ''
|
||||
},
|
||||
|
||||
{
|
||||
label: 'C相电压(V)',
|
||||
englabel: 'C-phase voltage(V)',
|
||||
englabel: 'Phase C Voltage (V)',
|
||||
zh_CN: 'C相电压(V)',
|
||||
en_US: 'Phase C Voltage (V)',
|
||||
es_ES: 'Voltaje de fase C (V)',
|
||||
fr_FR: 'Tension de phase C (V)',
|
||||
de_DE: 'Phase-C-Spannung (V)',
|
||||
pl_PL: 'Faza C – napięcie (V)',
|
||||
ar_EG: 'جهاز المطور C',
|
||||
field: 'EMUPhaseVoltageUC',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'C相电流(A)',
|
||||
englabel: 'C-phase current(V)',
|
||||
englabel: 'Phase C Current (A)',
|
||||
zh_CN: 'C相电流(A)',
|
||||
en_US: 'Phase C Current (A)',
|
||||
es_ES: 'Corriente de fase C (A)',
|
||||
fr_FR: 'Courant de phase A (A)',
|
||||
de_DE: 'Phase-C-Strom (A)',
|
||||
pl_PL: 'Faza C – prąd (A)',
|
||||
ar_EG: 'تباين المطور C',
|
||||
field: 'EMUIC',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'AB线电压(V)',
|
||||
englabel: 'AB line voltage(V)',
|
||||
englabel: 'Line Voltage AB (V)',
|
||||
zh_CN: 'AB线电压(V)',
|
||||
en_US: 'Line Voltage AB (V)',
|
||||
es_ES: 'Voltaje de línea AB (V)',
|
||||
fr_FR: 'Tension de câble AB (V)',
|
||||
de_DE: 'Leiterspannung AB (V)',
|
||||
pl_PL: 'Napięcie międzyfazowe AB (V)',
|
||||
ar_EG: 'الجهاز بين المطورين AB',
|
||||
field: 'EMULineVoltageUAB',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'BC线电压(V)',
|
||||
englabel: 'BC line voltage(V)',
|
||||
englabel: 'Line Voltage BC (V)',
|
||||
zh_CN: 'BC线电压(V)',
|
||||
en_US: 'Line Voltage BC (V)',
|
||||
es_ES: 'Voltaje de línea BC (V)',
|
||||
fr_FR: 'Tension de câble BC (V)',
|
||||
de_DE: 'Leiterspannung BC (V)',
|
||||
pl_PL: 'Napięcie międzyfazowe BC (V)',
|
||||
ar_EG: 'الجهاز بين المطورين BC',
|
||||
field: 'EMULineVoltageUBC',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'CA线电压(V)',
|
||||
englabel: 'CA line voltage(V)',
|
||||
englabel: 'Line Voltage CA (V)',
|
||||
zh_CN: 'CA线电压(V)',
|
||||
en_US: 'Line Voltage CA (V)',
|
||||
es_ES: 'Voltaje de línea CA (V)',
|
||||
fr_FR: 'Tension de câble CA (V)',
|
||||
de_DE: 'Leiterspannung CA (V)',
|
||||
pl_PL: 'Napięcie międzyfazowe CA (V)',
|
||||
ar_EG: 'الجهاز بين المطورين CA',
|
||||
field: 'EMULineVoltageUAC',
|
||||
value: ''
|
||||
},
|
||||
|
||||
{
|
||||
label: '频率(Hz)',
|
||||
englabel: 'Frequency(Hz)',
|
||||
englabel: 'Frequency (Hz)',
|
||||
zh_CN: '频率(Hz)',
|
||||
en_US: 'Frequency (Hz)',
|
||||
es_ES: 'Frecuencia (Hz)',
|
||||
fr_FR: 'Fréquence (Hz)',
|
||||
de_DE: 'Frequenz (Hz)',
|
||||
pl_PL: 'Częstotliwość (Hz)',
|
||||
ar_EG: 'التردد',
|
||||
field: 'EMUFrequency',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '正向有功电量(kWh)',
|
||||
englabel: 'Positive active charge(kWh)',
|
||||
englabel: 'Forward Active Energy (kWh)',
|
||||
zh_CN: '正向有功电量(kWh)',
|
||||
en_US: 'Forward Active Energy (kWh)',
|
||||
es_ES: 'Energía activa positiva (kWh)',
|
||||
fr_FR: 'Énergie active directe (kWh)',
|
||||
de_DE: 'Wirkenergie Vorwärts (kWh)',
|
||||
pl_PL: 'Energia czynna pobrana (kWh)',
|
||||
ar_EG: 'الطاقة الفعلية الأصلية',
|
||||
field: 'EMUAbsorbingActiveElectricalEnergy',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '反向有功电量(kWh)',
|
||||
englabel: 'Reverse active charge(kWh)',
|
||||
englabel: 'Reverse Active Energy (kWh)',
|
||||
zh_CN: '反向有功电量(kWh)',
|
||||
en_US: 'Reverse Active Energy (kWh)',
|
||||
es_ES: 'Energía activa negativa (kWh)',
|
||||
fr_FR: 'Énergie active inverse (kWh)',
|
||||
de_DE: 'Wirkenergie Rückwärts (kWh)',
|
||||
pl_PL: 'Energia czynna oddana (kWh)',
|
||||
ar_EG: 'الطاقة الفعلية المعكوسة',
|
||||
field: 'EMUReleaseActiveElectricalEnergy',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '感性功电量(kVarh)',
|
||||
englabel: 'Inductive energy(kVarh)',
|
||||
englabel: 'Inductive Energy (kVarh)',
|
||||
zh_CN: '感性功电量(kVarh)',
|
||||
en_US: 'Inductive Energy (kVarh)',
|
||||
es_ES: 'Energía reactiva inductiva (kVarh)',
|
||||
fr_FR: 'Énergie inductive (kVarh)',
|
||||
de_DE: 'Induktive Energie (kVarh)',
|
||||
pl_PL: 'Energia bierna indukcyjna (kVarh)',
|
||||
ar_EG: 'الطاقة التفاعلية الحالية',
|
||||
field: 'EMUInductiveEnergy',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '容性功电量(kVarh)',
|
||||
englabel: 'Capacitive energy(kVarh)',
|
||||
englabel: 'Capacitive Energy (kVarh)',
|
||||
zh_CN: '容性功电量(kVarh)',
|
||||
en_US: 'Capacitive Energy (kVarh)',
|
||||
es_ES: 'Energía reactiva capacitiva (kVarh)',
|
||||
fr_FR: 'Énergie capacitive (kVarh)',
|
||||
de_DE: 'Kapazitive Energie (kVarh)',
|
||||
pl_PL: 'Energia bierna pojemnościowa (kVarh)',
|
||||
ar_EG: 'الطاقة التفاعلية السمعية',
|
||||
field: 'EMUCapacitiveEnergy',
|
||||
value: ''
|
||||
}
|
||||
@ -204,6 +419,14 @@ export const ElectricityMeterData = [
|
||||
export const ElectricityMeterStateData = [
|
||||
{
|
||||
label: '电表在线状态',
|
||||
englabel: 'Meter Online Status',
|
||||
zh_CN: '电表在线状态',
|
||||
en_US: 'Meter Online Status',
|
||||
es_ES: 'Estado en línea del medidor de electricidad',
|
||||
fr_FR: 'État en ligne du compteur',
|
||||
de_DE: 'Zähler Online-Status',
|
||||
pl_PL: 'Stan online licznika',
|
||||
ar_EG: 'حالة الاتصال للمعد',
|
||||
field: 'EMUOnlineStatusOfElectricityMeter',
|
||||
value: ''
|
||||
}
|
||||
@ -211,49 +434,105 @@ export const ElectricityMeterStateData = [
|
||||
export const ElectricityMeterBottomData = [
|
||||
{
|
||||
label: '总有功功率',
|
||||
englabel: 'Total active power',
|
||||
englabel: 'Total Active Power',
|
||||
zh_CN: '总有功功率',
|
||||
en_US: 'Total Active Power',
|
||||
es_ES: 'Potencia activa total',
|
||||
fr_FR: 'Puissance active totale',
|
||||
de_DE: 'Gesamtwirkleistung',
|
||||
pl_PL: 'Całkowita moc czynna',
|
||||
ar_EG: 'القدرة الفعلية الإجمالية',
|
||||
field: 'EMUPTotal',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'A相',
|
||||
englabel: 'A phase',
|
||||
englabel: 'Phase A',
|
||||
zh_CN: 'A相',
|
||||
en_US: 'Phase A',
|
||||
es_ES: 'Potencia activa de fase A',
|
||||
fr_FR: 'Phase A',
|
||||
de_DE: 'Phase A',
|
||||
pl_PL: 'Faza A',
|
||||
ar_EG: 'القدرة الفعلية للمطور A',
|
||||
field: 'EMUPA',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'B相',
|
||||
englabel: 'B phase',
|
||||
englabel: 'Phase B',
|
||||
zh_CN: 'B相',
|
||||
en_US: 'Phase B',
|
||||
es_ES: 'Potencia activa de fase B',
|
||||
fr_FR: 'Phase B',
|
||||
de_DE: 'Phase B',
|
||||
pl_PL: 'Faza B',
|
||||
ar_EG: 'القدرة الفعلية للمطور B',
|
||||
field: 'EMUPB',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'C相',
|
||||
englabel: 'C phase',
|
||||
englabel: 'Phase C',
|
||||
zh_CN: 'C相',
|
||||
en_US: 'Phase C',
|
||||
es_ES: 'Potencia activa de fase C',
|
||||
fr_FR: 'Phase C',
|
||||
de_DE: 'Phase C',
|
||||
pl_PL: 'Faza C',
|
||||
ar_EG: 'القدرة الفعلية للمطور C',
|
||||
field: 'EMUPC',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '总无功功率',
|
||||
englabel: 'Total reactive power',
|
||||
englabel: 'Total Reactive Power',
|
||||
zh_CN: '总无功功率',
|
||||
en_US: 'Total Reactive Power',
|
||||
es_ES: 'Potencia reactiva total',
|
||||
fr_FR: 'Puissance réactive totale',
|
||||
de_DE: 'Gesamtblindleistung',
|
||||
pl_PL: 'Całkowita moc bierna',
|
||||
ar_EG: 'القدرة التفاعلية الإجمالية',
|
||||
field: 'EMUQTotal',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'A相',
|
||||
englabel: 'A phase',
|
||||
englabel: 'Phase A',
|
||||
zh_CN: 'A相',
|
||||
en_US: 'Phase A',
|
||||
es_ES: 'Potencia reactiva de fase A',
|
||||
fr_FR: 'Phase A',
|
||||
de_DE: 'Phase A',
|
||||
pl_PL: 'Faza A',
|
||||
ar_EG: 'القدرة التفاعلية للمطور A',
|
||||
field: 'EMUQA',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'B相',
|
||||
englabel: 'B phase',
|
||||
englabel: 'Phase B',
|
||||
zh_CN: 'B相',
|
||||
en_US: 'Phase B',
|
||||
es_ES: 'Potencia reactiva de fase B',
|
||||
fr_FR: 'Phase B',
|
||||
de_DE: 'Phase B',
|
||||
pl_PL: 'Faza B',
|
||||
ar_EG: 'القدرة التفاعلية للمطور B',
|
||||
field: 'EMUQB',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: 'C相',
|
||||
englabel: 'C phase',
|
||||
englabel: 'Phase C',
|
||||
zh_CN: 'C相',
|
||||
en_US: 'Phase C',
|
||||
es_ES: 'Potencia reactiva de fase C',
|
||||
fr_FR: 'Phase C',
|
||||
de_DE: 'Phase C',
|
||||
pl_PL: 'Faza C',
|
||||
ar_EG: 'القدرة التفاعلية للمطور C',
|
||||
field: 'EMUQC',
|
||||
value: ''
|
||||
}
|
||||
@ -262,25 +541,52 @@ export const DehumidifierTopData = [
|
||||
{
|
||||
label: '温度',
|
||||
englabel: 'Temperature',
|
||||
zh_CN: '温度',
|
||||
en_US: 'Temperature',
|
||||
es_ES: 'Temperatura',
|
||||
fr_FR: 'Température',
|
||||
de_DE: 'Temperatur',
|
||||
pl_PL: 'Temperatura',
|
||||
ar_EG: 'درجة الحرارة',
|
||||
field: 'EMUDehumidifier1Temperature',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '湿度',
|
||||
englabel: 'Humidness',
|
||||
englabel: 'Humidity',
|
||||
zh_CN: '湿度',
|
||||
en_US: 'Humidity',
|
||||
es_ES: 'Humedad',
|
||||
fr_FR: 'Humidité',
|
||||
de_DE: 'Luftfeuchtigkeit',
|
||||
pl_PL: 'Wilgotność',
|
||||
ar_EG: 'الرطوبة',
|
||||
field: 'EMUDehumidifier1Humidity',
|
||||
value: ''
|
||||
},
|
||||
|
||||
{
|
||||
label: '湿度启动值',
|
||||
englabel: 'Humidity starting value',
|
||||
englabel: 'Humidity Start Threshold',
|
||||
zh_CN: '湿度启动值',
|
||||
en_US: 'Humidity Start Threshold',
|
||||
es_ES: 'Valor de inicio de humedad',
|
||||
fr_FR: "Seuil de départ d'humidité",
|
||||
de_DE: 'Feuchtigkeits-Einschaltschwelle',
|
||||
pl_PL: 'Próg uruchomienia wilgotności',
|
||||
ar_EG: 'حد تشغيل الرطوبة',
|
||||
field: 'EMUDehumidifier1HumidityStartValue',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '湿度停止值',
|
||||
englabel: 'Humidity stop value',
|
||||
englabel: 'Humidity Stop Threshold',
|
||||
zh_CN: '湿度停止值',
|
||||
en_US: 'Humidity Stop Threshold',
|
||||
es_ES: 'Valor de parada de humedad',
|
||||
fr_FR: "Seuil d'arrêt d'humidité",
|
||||
de_DE: 'Feuchtigkeits-Ausschaltschwelle',
|
||||
pl_PL: 'Próg wyłączenia wilgotności',
|
||||
ar_EG: 'حد إيقاف الرطوبة',
|
||||
field: 'EMUDehumidifier1HumidityStopValue',
|
||||
value: ''
|
||||
}
|
||||
@ -288,6 +594,14 @@ export const DehumidifierTopData = [
|
||||
export const DehumidifierStateData = [
|
||||
{
|
||||
label: '除湿器状态',
|
||||
englabel: 'Dehumidifier Status',
|
||||
zh_CN: '除湿器状态',
|
||||
en_US: 'Dehumidifier Status',
|
||||
es_ES: 'Estado del deshumidificador',
|
||||
fr_FR: 'État du déshumidificateur',
|
||||
de_DE: 'Entfeuchterstatus',
|
||||
pl_PL: 'Stan osuszacza',
|
||||
ar_EG: 'حالة مزيل الرطوبة',
|
||||
field: 'EMUDehumidifier1OnlineStatus',
|
||||
value: ''
|
||||
}
|
||||
@ -295,32 +609,66 @@ export const DehumidifierStateData = [
|
||||
export const DehumidifierBottomData = [
|
||||
{
|
||||
label: '温度传感器故障',
|
||||
englabel: 'Temperature sensor fault',
|
||||
englabel: 'Temperature Sensor Fault',
|
||||
zh_CN: '温度传感器故障',
|
||||
en_US: 'Temperature Sensor Fault',
|
||||
es_ES: 'Avería del sensor de temperatura',
|
||||
fr_FR: 'Défaut de sonde de température',
|
||||
de_DE: 'Temperatursensorfehler',
|
||||
pl_PL: 'Awaria czujnika temperatury',
|
||||
ar_EG: 'عطل مستعر درجة الحرارة',
|
||||
field: 'emuDehumiStateBit0',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '湿度传感器故障',
|
||||
englabel: 'Humidity sensor fault',
|
||||
englabel: 'Humidity Sensor Fault',
|
||||
zh_CN: '湿度传感器故障',
|
||||
en_US: 'Humidity Sensor Fault',
|
||||
es_ES: 'Avería del sensor de humedad',
|
||||
fr_FR: "Défaut de sonde d'humidité",
|
||||
de_DE: 'Feuchtigkeitssensorfehler',
|
||||
pl_PL: 'Awaria czujnika wilgotności',
|
||||
ar_EG: 'عطل مستعر الرطوبة',
|
||||
field: 'emuDehumiStateBit1',
|
||||
value: ''
|
||||
},
|
||||
|
||||
{
|
||||
label: '风机故障',
|
||||
englabel: 'Fan failure',
|
||||
englabel: 'Fan Fault',
|
||||
zh_CN: '风机故障',
|
||||
en_US: 'Fan Fault',
|
||||
es_ES: 'Avería del ventilador',
|
||||
fr_FR: 'Défaut du ventilateur',
|
||||
de_DE: 'Lüfterfehler',
|
||||
pl_PL: 'Awaria wentylatora',
|
||||
ar_EG: 'عطل المروحة',
|
||||
field: 'emuDehumiStateBit2',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '抽湿状态',
|
||||
englabel: 'Dehumidified condition',
|
||||
englabel: 'Dehumidification Status',
|
||||
zh_CN: '抽湿状态',
|
||||
en_US: 'Dehumidification Status',
|
||||
es_ES: 'Estado de deshumidificación',
|
||||
fr_FR: 'État de déshumidification',
|
||||
de_DE: 'Entfeuchtungsstatus',
|
||||
pl_PL: 'Stan osuszania',
|
||||
ar_EG: 'حالة إزالة الرطوبة',
|
||||
field: 'emuDehumiStateBit4',
|
||||
value: ''
|
||||
},
|
||||
{
|
||||
label: '制冷片故障',
|
||||
englabel: 'Chiller failure',
|
||||
englabel: 'Cooling Module Fault',
|
||||
zh_CN: '制冷片故障',
|
||||
en_US: 'Cooling Module Fault',
|
||||
es_ES: 'Avería de la placa refrigerante',
|
||||
fr_FR: 'Défaut du module de refroidissement',
|
||||
de_DE: 'Kühlmodulfehler',
|
||||
pl_PL: 'Awaria modułu chłodzenia',
|
||||
ar_EG: 'عطل وحدة التبريد',
|
||||
field: 'emuDehumiStateBit6',
|
||||
value: ''
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div class="left-bottom-wrap">
|
||||
<ItemBox title="SOC/堆总压">
|
||||
<ItemBox :title="'SOC/' + $t('pcs.rackTotalVoltage')">
|
||||
|
||||
<div v-loading="loading" class="top-bottom-container">
|
||||
<Chart :options="options" :class-name="'chart'" />
|
||||
@ -19,17 +19,10 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
timeLidu: 1,
|
||||
times: [
|
||||
{ label: '1分钟', value: 1 },
|
||||
{ label: '5分钟', value: 5 },
|
||||
{ label: '10分钟', value: 10 },
|
||||
{ label: '15分钟', value: 15 },
|
||||
{ label: '20分钟', value: 20 },
|
||||
{ label: '30分钟', value: 30 }
|
||||
],
|
||||
times: this.$t('pcs.times'),
|
||||
options: {
|
||||
title: {
|
||||
text: '暂无数据',
|
||||
text: this.$t('pcs.noData'),
|
||||
x: 'center',
|
||||
y: 'center',
|
||||
textStyle: {
|
||||
@ -137,7 +130,7 @@ box-shadow: inset 0px 2px 16px 0px rgba(0, 148, 255, 0.4);' >${dataStr}</div>`
|
||||
yAxis: [
|
||||
{
|
||||
type: 'value',
|
||||
name: '堆总压(V)',
|
||||
name: this.$t('pcs.rackTotalVoltage') + '(V)',
|
||||
axisLabel: {
|
||||
color: '#2d8cf0'
|
||||
},
|
||||
@ -172,7 +165,7 @@ box-shadow: inset 0px 2px 16px 0px rgba(0, 148, 255, 0.4);' >${dataStr}</div>`
|
||||
],
|
||||
series: [
|
||||
{
|
||||
name: '堆总压',
|
||||
name: this.$t('pcs.rackTotalVoltage'),
|
||||
type: 'line',
|
||||
smooth: true,
|
||||
symbol: 'none',
|
||||
|
||||
@ -6,19 +6,20 @@
|
||||
<div v-loading="loading" class="right">
|
||||
<div v-for="(item,index) in stackVolData" :key="item.label" class="right-content-box">
|
||||
<div class="title">
|
||||
<span class="title-left">{{ item.label }}</span>
|
||||
<!-- <span class="title-left">{{ item.label }}</span> -->
|
||||
<span class="title-left">{{ item[language] }}</span>
|
||||
<div class="title-right" @click="seeHistory(index)" />
|
||||
</div>
|
||||
<div class="content">
|
||||
<div class="content-box margin-bottom">
|
||||
<span class="d" />
|
||||
<span class="label">簇电压:</span>
|
||||
<span class="label">{{ $t('pcs.clusterVoltage') }}:</span>
|
||||
<span class="value">{{ newData[`cluster${index + 1 }Vol`] ? newData[`cluster${index + 1}Vol`] : 0 }}</span>
|
||||
<span class="unit">V</span>
|
||||
</div>
|
||||
<div class="content-box margin-bottom">
|
||||
<span class="d" />
|
||||
<span class="label">簇电流:</span>
|
||||
<span class="label">{{ $t('pcs.clusterCurrent') }}:</span>
|
||||
<span class="value">{{ newData[`cluster${index + 1}Current`] ? newData[`cluster${index + 1}Current`] : 0 }}</span>
|
||||
<span class="unit">A</span>
|
||||
</div>
|
||||
@ -39,7 +40,7 @@
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<TableChartDialog :is-show.sync="visible" title="历史数据" :col="colValue" :src-id="srcValue" />
|
||||
<TableChartDialog :is-show.sync="visible" :title="$t('pcs.historicalData')" :col="colValue" :src-id="srcValue" />
|
||||
</div>
|
||||
|
||||
</template>
|
||||
@ -69,7 +70,11 @@ export default {
|
||||
loading: false
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
computed: {
|
||||
language() {
|
||||
return this.$store.getters.language || undefined
|
||||
}
|
||||
},
|
||||
watch: {},
|
||||
created() {
|
||||
// this.getChatData()
|
||||
|
||||
@ -1,31 +1,31 @@
|
||||
<template>
|
||||
<div class="center-top-wrap">
|
||||
<ItemBox title="电池堆拓扑图">
|
||||
<ItemBox :title="$t('pcs.batteryStackTopo')">
|
||||
<div v-loading="loading" class="center-top-container">
|
||||
<img :src="dianchidui" alt="">
|
||||
<div class="bottom-left-box">
|
||||
<div class="con-title">
|
||||
直流舱左侧温湿度仪
|
||||
{{ $t('pcs.dCCabinLeftTemHum') }}
|
||||
</div>
|
||||
<div class="con-box">
|
||||
<div class="con-item">
|
||||
<span class="title">温度:</span><span class="value">{{ topInfo.cabinetTemperatureLeft }}</span><span class="unit">℃</span>
|
||||
<span class="title">{{ $t('pcs.tem') }}:</span><span class="value">{{ topInfo.cabinetTemperatureLeft }}</span><span class="unit">℃</span>
|
||||
</div>
|
||||
<div class="con-item">
|
||||
<span class="title">湿度:</span><span class="value">{{ topInfo.cabinetHumidityLeft }}</span><span class="unit">%</span>
|
||||
<span class="title">{{ $t('pcs.hum') }}:</span><span class="value">{{ topInfo.cabinetHumidityLeft }}</span><span class="unit">%</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom-right-box">
|
||||
<div class="con-title">
|
||||
直流舱右侧温湿度仪
|
||||
{{ $t('pcs.dCCabinRightTemHum') }}
|
||||
</div>
|
||||
<div class="con-box">
|
||||
<div class="con-item">
|
||||
<span class="title">温度:</span><span class="value">{{ topInfo.cabinetTemperatureRight }}</span><span class="unit">℃</span>
|
||||
<span class="title">{{ $t('pcs.tem') }}:</span><span class="value">{{ topInfo.cabinetTemperatureRight }}</span><span class="unit">℃</span>
|
||||
</div>
|
||||
<div class="con-item">
|
||||
<span class="title">湿度:</span><span class="value">{{ topInfo.cabinetHumidityRight }}</span><span class="unit">%</span>
|
||||
<span class="title">{{ $t('pcs.hum') }}:</span><span class="value">{{ topInfo.cabinetHumidityRight }}</span><span class="unit">%</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,12 +1,13 @@
|
||||
<template>
|
||||
<div class="center-top-wrap">
|
||||
<ItemBox title="运行数据">
|
||||
<ItemBox :title="$t('pcs.runData')">
|
||||
<div v-loading="loading" class="center-top-container">
|
||||
<div class="top">
|
||||
<div v-for="item in stackRunstate" :key="item.label" class="top-box">
|
||||
<div class="top-title">
|
||||
<span class="d" />
|
||||
<span class="title">{{ item.label }}</span>
|
||||
<!-- <span class="title">{{ item.label }}</span> -->
|
||||
<span class="title">{{ item[language] }}</span>
|
||||
<span class="d" />
|
||||
</div>
|
||||
<div class="center-line" />
|
||||
@ -15,10 +16,10 @@
|
||||
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div :class="hlgData.combinerCabinetQFClosingFeedback ? 'bottom-left' : 'bottom-right'">汇流柜QF合闸</div>
|
||||
<div :class="hlgData.distributionBoxQF1ClosingFeedback ? 'bottom-left' : 'bottom-right'">配电箱QF1合闸</div>
|
||||
<div :class="hlgData.combinerCabinetQFClosingFeedback ? 'bottom-right' : 'bottom-left'">汇流柜QF分闸</div>
|
||||
<div :class="hlgData.distributionBoxQF1ClosingFeedback ? 'bottom-right' : 'bottom-left'">配电箱QF1分闸</div>
|
||||
<div :class="hlgData.combinerCabinetQFClosingFeedback ? 'bottom-left' : 'bottom-right'">{{ $t('pcs.convergenceCabinetCombined') }}</div>
|
||||
<div :class="hlgData.distributionBoxQF1ClosingFeedback ? 'bottom-left' : 'bottom-right'">{{ $t('pcs.distributionBoxClose') }}</div>
|
||||
<div :class="hlgData.combinerCabinetQFClosingFeedback ? 'bottom-right' : 'bottom-left'">{{ $t('pcs.convergenceCabinetCeparated') }}</div>
|
||||
<div :class="hlgData.distributionBoxQF1ClosingFeedback ? 'bottom-right' : 'bottom-left'">{{ $t('pcs.distributionBoxOpen') }}</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@ -42,7 +43,11 @@ export default {
|
||||
loading: false
|
||||
}
|
||||
},
|
||||
computed: {},
|
||||
computed: {
|
||||
language() {
|
||||
return this.$store.getters.language || undefined
|
||||
}
|
||||
},
|
||||
watch: {},
|
||||
created() {
|
||||
// this.getChatData()
|
||||
|
||||
@ -1,11 +1,12 @@
|
||||
<template>
|
||||
<div class="left-top-wrap">
|
||||
<ItemBox title="运行数据">
|
||||
<ItemBox :title="$t('pcs.runData')">
|
||||
<div v-loading="loading" class="top-left-container">
|
||||
<div class="left">
|
||||
<div v-for="item in rightFirst" :key="item.label" class="left-first">
|
||||
<div class="box-title">
|
||||
<div class="title">{{ item.isMwh ? item.labelMwh : item.label }}</div><div class="value">{{ item.isMwh ? (item.value/1000).toFixed(2) : item.value }}</div>
|
||||
<!-- <div class="title">{{ item.isMwh ? item.labelMwh : item.label }}</div><div class="value">{{ item.isMwh ? (item.value/1000).toFixed(2) : item.value }}</div> -->
|
||||
<div class="title">{{ item.isMwh ? item[language + 'Mwh'] : item[language] }}</div><div class="value">{{ item.isMwh ? (item.value/1000).toFixed(2) : item.value }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -15,23 +16,25 @@
|
||||
<div v-for="item in rightSecond" :key="item.label" class="right-second-content">
|
||||
<span class="left" style="flex:3">
|
||||
<span class="jt" />
|
||||
<span class="hight-v">{{ item.label }}</span>
|
||||
<!-- <span class="hight-v">{{ item.label }}</span> -->
|
||||
<span class="hight-v">{{ item[language] }}</span>
|
||||
<span class="v-value">{{ item.value }}</span>
|
||||
<span class="unit">{{ item.unit }}</span>
|
||||
</span>
|
||||
<span class="left" style="flex:2">
|
||||
<span class="jt" />
|
||||
<span class="hight-v">{{ item.label2 }}</span>
|
||||
<!-- <span class="hight-v">{{ item.label2 }}</span> -->
|
||||
<span class="hight-v">{{ item[language + '2'] }}</span>
|
||||
<span class="v-value">{{ item.value2 }}</span>
|
||||
</span>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="right-third">
|
||||
<div v-for="item in rightThird" :key="item.label" :class="item.value ? 'error-item-wrap' : 'item-wrap'">
|
||||
<div class="label">{{ item.label }}</div>
|
||||
<!-- <div class="label">{{ item.label }}</div> -->
|
||||
<div class="label">{{ item[language] }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -39,7 +42,7 @@
|
||||
<div class="right-second-content">
|
||||
<span class="left" style="flex:3">
|
||||
<span class="jt" />
|
||||
<span class="hight-v">最大电压差</span>
|
||||
<span class="hight-v">{{ $t('pcs.maxvolDiff') }}</span>
|
||||
<span class="v-value">{{ (newData.singleMaxVolData - newData.singleMinVolData).toFixed(3) }}</span>
|
||||
<span class="unit">V</span>
|
||||
</span>
|
||||
@ -50,33 +53,31 @@
|
||||
<div class="right-four">
|
||||
<div class="height-v">
|
||||
<div class="top">
|
||||
<span class="top-title">单体最高电压</span>
|
||||
<span class="top-title">{{ $t('pcs.maxCellVol') }}</span>
|
||||
<span class="top-value">
|
||||
<span class="value">{{ newData.singleMaxVolData }}</span>
|
||||
<span class="unit">V</span>
|
||||
</span>
|
||||
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<span class="dczh">
|
||||
<span class="dczh-title">电池簇号</span>
|
||||
<span class="dczh-title">{{ $t('pcs.batteryClusterNum') }}</span>
|
||||
<span class="dczh-value">{{ newData.singleMaxVolNum }}</span>
|
||||
</span>
|
||||
<span class="dczh">
|
||||
<span class="dczh-title">电池组号</span>
|
||||
<span class="dczh-title">{{ $t('pcs.batteryGroupNum') }}</span>
|
||||
<span class="dczh-value">{{ newData.singleMaxVolBMUNum }}</span>
|
||||
</span>
|
||||
<span class="dxwz">
|
||||
<span class="dxwz-title">电芯位置</span>
|
||||
<span class="dxwz-title">{{ $t('pcs.cellPostion') }}</span>
|
||||
<span class="dxwz-value">{{ newData.singleMaxVolBoxNum }}</span>
|
||||
</span>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="low-v">
|
||||
<div class="top">
|
||||
<span class="top-title">单体最低电压</span>
|
||||
<span class="top-title">{{ $t('pcs.minCellVol') }}</span>
|
||||
<span class="top-value">
|
||||
<span class="value">{{ newData.singleMinVolData }}</span>
|
||||
<span class="unit">V</span>
|
||||
@ -85,15 +86,15 @@
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<span class="dczh">
|
||||
<span class="dczh-title">电池簇号</span>
|
||||
<span class="dczh-title">{{ $t('pcs.batteryClusterNum') }}</span>
|
||||
<span class="dczh-value">{{ newData.singleMinVolNum }}</span>
|
||||
</span>
|
||||
<span class="dczh">
|
||||
<span class="dczh-title">电池组号</span>
|
||||
<span class="dczh-title">{{ $t('pcs.batteryGroupNum') }}</span>
|
||||
<span class="dczh-value">{{ newData.singleMinVolBMUNum }}</span>
|
||||
</span>
|
||||
<span class="dxwz">
|
||||
<span class="dxwz-title">电芯位置</span>
|
||||
<span class="dxwz-title">{{ $t('pcs.cellPostion') }}</span>
|
||||
<span class="dxwz-value">{{ newData.singleMinVolBoxNum }}</span>
|
||||
</span>
|
||||
|
||||
@ -103,7 +104,7 @@
|
||||
<div class="right-second-content">
|
||||
<span class="left" style="flex:3">
|
||||
<span class="jt" />
|
||||
<span class="hight-v">最大温度差</span>
|
||||
<span class="hight-v">{{ $t('pcs.maxTemDiff') }}</span>
|
||||
<span class="v-value">{{ newData.singleMaxTemData - newData.singleMinTemData }}</span>
|
||||
<span class="unit">℃</span>
|
||||
</span>
|
||||
@ -112,7 +113,7 @@
|
||||
</div>
|
||||
<div class="height-t">
|
||||
<div class="top">
|
||||
<span class="top-title">单体最高温度</span>
|
||||
<span class="top-title">{{ $t('pcs.maxCellTem') }}</span>
|
||||
<span class="top-value">
|
||||
<span class="value">{{ newData.singleMaxTemData }}</span>
|
||||
<span class="unit">℃</span>
|
||||
@ -121,15 +122,15 @@
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<span class="dczh">
|
||||
<span class="dczh-title">电池簇号</span>
|
||||
<span class="dczh-title">{{ $t('pcs.batteryClusterNum') }}</span>
|
||||
<span class="dczh-value">{{ newData.singleMaxTemNum }}</span>
|
||||
</span>
|
||||
<span class="dczh">
|
||||
<span class="dczh-title">电池组号</span>
|
||||
<span class="dczh-title">{{ $t('pcs.batteryGroupNum') }}</span>
|
||||
<span class="dczh-value">{{ newData.singleMaxTemBMUNum }}</span>
|
||||
</span>
|
||||
<span class="dxwz">
|
||||
<span class="dxwz-title">电芯位置</span>
|
||||
<span class="dxwz-title">{{ $t('pcs.cellPostion') }}</span>
|
||||
<span class="dxwz-value">{{ newData.singleMaxTemBoxNum }}</span>
|
||||
</span>
|
||||
|
||||
@ -138,7 +139,7 @@
|
||||
|
||||
<div class="low-t">
|
||||
<div class="top">
|
||||
<span class="top-title">单体最低温度</span>
|
||||
<span class="top-title">{{ $t('pcs.minCellTem') }}</span>
|
||||
<span class="top-value">
|
||||
<span class="value">{{ newData.singleMinTemData }}</span>
|
||||
<span class="unit">℃</span>
|
||||
@ -147,22 +148,23 @@
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<span class="dczh">
|
||||
<span class="dczh-title">电池簇号</span>
|
||||
<span class="dczh-title">{{ $t('pcs.batteryClusterNum') }}</span>
|
||||
<span class="dczh-value">{{ newData.singleMinTemNum }}</span>
|
||||
</span>
|
||||
<span class="dczh">
|
||||
<span class="dczh-title">电池组号</span>
|
||||
<span class="dczh-title">{{ $t('pcs.batteryGroupNum') }}</span>
|
||||
<span class="dczh-value">{{ newData.singleMinTemBMUNum }}</span>
|
||||
</span>
|
||||
<span class="dxwz">
|
||||
<span class="dxwz-title">电芯位置</span>
|
||||
<span class="dxwz-title">{{ $t('pcs.cellPostion') }}</span>
|
||||
<span class="dxwz-value">{{ newData.singleMinTemBoxNum }}</span>
|
||||
</span>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div></ItemBox>
|
||||
</div>
|
||||
</ItemBox>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@ -211,7 +213,9 @@ export default {
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
||||
language() {
|
||||
return this.$store.getters.language || undefined
|
||||
}
|
||||
},
|
||||
watch: {},
|
||||
created() {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -5,33 +5,40 @@
|
||||
<div v-loading="loading" class="top-bottom-container">
|
||||
<div class="box">
|
||||
<div v-for="item in xfcRunData1" :key="item.label" class="small-box">
|
||||
<div v-if="language === 'en'" class="top-title">{{ item.enlable }}</div>
|
||||
<div v-else class="top-title">{{ item.label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="top-title">{{ item.enlable }}</div>
|
||||
<div v-else class="top-title">{{ item.label }}</div> -->
|
||||
<div class="top-title">{{ item[language] }}</div>
|
||||
<div class="value-box">
|
||||
|
||||
<div class="value-small border-right border-bottom">
|
||||
<div v-if="language === 'en'" :class="item.value1 ? 'error-value' : 'value'">Gas off zone is faulty</div>
|
||||
<div v-else :class="item.value1 ? 'error-value' : 'value'">气灭区故障</div>
|
||||
<!-- <div v-if="language === 'en'" :class="item.value1 ? 'error-value' : 'value'">Gas off zone is faulty</div>
|
||||
<div v-else :class="item.value1 ? 'error-value' : 'value'">气灭区故障</div> -->
|
||||
<div :class="item.value1 ? 'error-value' : 'value'">{{ $t('pcs.gasOffZoneFaulty') }}</div>
|
||||
</div>
|
||||
<div class="value-small border-bottom">
|
||||
<div v-if="language === 'en'" :class="item.value2 ? 'error-value' : 'value'">Gas off zone starts</div>
|
||||
<div v-else :class="item.value2 ? 'error-value' : 'value'">气灭区启动</div>
|
||||
<!-- <div v-if="language === 'en'" :class="item.value2 ? 'error-value' : 'value'">Gas off zone starts</div>
|
||||
<div v-else :class="item.value2 ? 'error-value' : 'value'">气灭区启动</div> -->
|
||||
<div :class="item.value2 ? 'error-value' : 'value'">{{ $t('pcs.gasOffZoneStarts') }}</div>
|
||||
</div>
|
||||
<div class="value-small border-right border-bottom">
|
||||
<div v-if="language === 'en'" :class="item.value3 ? 'error-value' : 'value'">Spray feedback</div>
|
||||
<div v-else :class="item.value3 ? 'error-value' : 'value'">喷洒反馈</div>
|
||||
<!-- <div v-if="language === 'en'" :class="item.value3 ? 'error-value' : 'value'">Spray feedback</div>
|
||||
<div v-else :class="item.value3 ? 'error-value' : 'value'">喷洒反馈</div> -->
|
||||
<div :class="item.value3 ? 'error-value' : 'value'">{{ $t('pcs.sprayFeedback') }}</div>
|
||||
</div>
|
||||
<div class="value-small border-bottom">
|
||||
<div v-if="language === 'en'" :class="item.value4 ? 'error-value' : 'value'">Spray starts</div>
|
||||
<div v-else :class="item.value4 ? 'error-value' : 'value'">喷洒启动</div>
|
||||
<!-- <div v-if="language === 'en'" :class="item.value4 ? 'error-value' : 'value'">Spray starts</div>
|
||||
<div v-else :class="item.value4 ? 'error-value' : 'value'">喷洒启动</div> -->
|
||||
<div :class="item.value4 ? 'error-value' : 'value'">{{ $t('pcs.sprayStarts') }}</div>
|
||||
</div>
|
||||
<div class="value-small border-right border-bottom">
|
||||
<div v-if="language === 'en'" :class="item.value5 ? 'error-value' : 'value'">Acousto-optic starts</div>
|
||||
<div v-else :class="item.value5 ? 'error-value' : 'value'">声光启动</div>
|
||||
<!-- <div v-if="language === 'en'" :class="item.value5 ? 'error-value' : 'value'">Acousto-optic starts</div>
|
||||
<div v-else :class="item.value5 ? 'error-value' : 'value'">声光启动</div> -->
|
||||
<div :class="item.value5 ? 'error-value' : 'value'">{{ $t('pcs.acoustoOpticStarts') }}</div>
|
||||
</div>
|
||||
<div class="value-small border-bottom">
|
||||
<div v-if="language === 'en'" :class="item.value6 ? 'error-value' : 'value'">Auxiliary EQPT starts</div>
|
||||
<div v-else :class="item.value6 ? 'error-value' : 'value'">辅助设备启动</div>
|
||||
<!-- <div v-if="language === 'en'" :class="item.value6 ? 'error-value' : 'value'">Auxiliary EQPT starts</div>
|
||||
<div v-else :class="item.value6 ? 'error-value' : 'value'">辅助设备启动</div> -->
|
||||
<div :class="item.value6 ? 'error-value' : 'value'">{{ $t('pcs.auxiliaryEQPTstarts') }}</div>
|
||||
</div>
|
||||
|
||||
<div class="lx" />
|
||||
@ -40,28 +47,29 @@
|
||||
</div>
|
||||
|
||||
<div v-for="item in xfcRunData2" :key="item.key" class="small-box">
|
||||
<div v-if="language === 'en'" class="top-title">{{ item.enlable }}</div>
|
||||
<div v-else class="top-title">{{ item.label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="top-title">{{ item.enlable }}</div>
|
||||
<div v-else class="top-title">{{ item.label }}</div> -->
|
||||
<div class="top-title">{{ item[language] }}</div>
|
||||
<div class="value-box">
|
||||
|
||||
<div class="value-small border-right border-bottom">
|
||||
<div v-if="language === 'en'" :class="item.value1 ? 'error-value' : 'value'">Main power fault</div>
|
||||
<div v-if="language === 'en_US'" :class="item.value1 ? 'error-value' : 'value'">Main power fault</div>
|
||||
<div v-else :class="item.value1 ? 'error-value' : 'value'">主电故障</div>
|
||||
</div>
|
||||
<div class="value-small border-bottom">
|
||||
<div v-if="language === 'en'" :class="item.value2 ? 'error-value' : 'value'">Backup fault</div>
|
||||
<div v-if="language === 'en_US'" :class="item.value2 ? 'error-value' : 'value'">Backup fault</div>
|
||||
<div v-else :class="item.value2 ? 'error-value' : 'value'">备电故障</div>
|
||||
</div>
|
||||
<div class="value-small border-right border-bottom">
|
||||
<div v-if="language === 'en'" :class="item.value3 ? 'error-value' : 'value'">Manual disable</div>
|
||||
<div v-if="language === 'en_US'" :class="item.value3 ? 'error-value' : 'value'">Manual disable</div>
|
||||
<div v-else :class="item.value3 ? 'error-value' : 'value'">手动禁止</div>
|
||||
</div>
|
||||
<div class="value-small border-bottom">
|
||||
<div v-if="language === 'en'" :class="item.value4 ? 'error-value' : 'value'">Auto disable</div>
|
||||
<div v-if="language === 'en_US'" :class="item.value4 ? 'error-value' : 'value'">Auto disable</div>
|
||||
<div v-else :class="item.value4 ? 'error-value' : 'value'">自动禁止</div>
|
||||
</div>
|
||||
<div class="value-big ">
|
||||
<div v-if="language === 'en'" class="value">Board fault</div>
|
||||
<div v-if="language === 'en_US'" class="value">Board fault</div>
|
||||
<div v-else class="value">板卡故障</div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -4,32 +4,39 @@
|
||||
<div v-loading="loading" class="center-top-container">
|
||||
<div class="box">
|
||||
<div v-for="(item) in xfcData" :key="item.label" class="small-box">
|
||||
<div v-if="language === 'en'" class="top-title">{{ item.enlable }}</div>
|
||||
<div v-else class="top-title">{{ item.label }}</div>
|
||||
<!-- <div v-if="language === 'en'" class="top-title">{{ item.enlable }}</div>
|
||||
<div v-else class="top-title">{{ item.label }}</div> -->
|
||||
<div class="top-title">{{ item[language] }}</div>
|
||||
<div class="value-box">
|
||||
<div class="value-small border-right border-bottom">
|
||||
<div v-if="language === 'en'" :class="item.value1 ? 'error-value' : 'value'">Fire alarm</div>
|
||||
<div v-else :class="item.value1 ? 'error-value' : 'value'">火警</div>
|
||||
<!-- <div v-if="language === 'en'" :class="item.value1 ? 'error-value' : 'value'">Fire alarm</div>
|
||||
<div v-else :class="item.value1 ? 'error-value' : 'value'">{{ $t('pcs.fire') }}</div> -->
|
||||
<div :class="item.value1 ? 'error-value' : 'value'">{{ $t('pcs.fire') }}</div>
|
||||
</div>
|
||||
<div class="value-small border-bottom">
|
||||
<div v-if="language === 'en'" :class="item.value2 ? 'error-value' : 'value'">Fault</div>
|
||||
<div v-else :class="item.value2 ? 'error-value' : 'value'">故障</div>
|
||||
<!-- <div v-if="language === 'en'" :class="item.value2 ? 'error-value' : 'value'">Fault</div>
|
||||
<div v-else :class="item.value2 ? 'error-value' : 'value'">{{ $t('pcs.fault') }}</div> -->
|
||||
<div :class="item.value2 ? 'error-value' : 'value'">{{ $t('pcs.fault') }}</div>
|
||||
</div>
|
||||
<div class="value-small border-right border-bottom">
|
||||
<div v-if="language === 'en'" :class="item.value3 ? 'error-value' : 'value'">Start</div>
|
||||
<div v-else :class="item.value3 ? 'error-value' : 'value'">启动</div>
|
||||
<!-- <div v-if="language === 'en'" :class="item.value3 ? 'error-value' : 'value'">Start</div>
|
||||
<div v-else :class="item.value3 ? 'error-value' : 'value'">启动{{ $t('pcs.start') }}</div> -->
|
||||
<div :class="item.value3 ? 'error-value' : 'value'">{{ $t('pcs.start') }}</div>
|
||||
</div>
|
||||
<div class="value-small border-bottom">
|
||||
<div v-if="language === 'en'" :class="item.value4 ? 'error-value' : 'value'">Feedback</div>
|
||||
<div v-else :class="item.value4 ? 'error-value' : 'value'">反馈</div>
|
||||
<!-- <div v-if="language === 'en'" :class="item.value4 ? 'error-value' : 'value'">Feedback</div>
|
||||
<div v-else :class="item.value4 ? 'error-value' : 'value'">反馈{{ $t('pcs.feedback') }}</div> -->
|
||||
<div :class="item.value4 ? 'error-value' : 'value'">{{ $t('pcs.feedback') }}</div>
|
||||
</div>
|
||||
<div class="value-small border-right border-bottom">
|
||||
<div v-if="language === 'en'" :class="item.value5 ? 'error-value' : 'value'">Shield</div>
|
||||
<div v-else :class="item.value5 ? 'error-value' : 'value'">屏蔽</div>
|
||||
<!-- <div v-if="language === 'en'" :class="item.value5 ? 'error-value' : 'value'">Shield</div>
|
||||
<div v-else :class="item.value5 ? 'error-value' : 'value'">屏蔽{{ $t('pcs.shield') }}</div> -->
|
||||
<div :class="item.value5 ? 'error-value' : 'value'">{{ $t('pcs.shield') }}</div>
|
||||
</div>
|
||||
<div class="value-small border-bottom">
|
||||
<div v-if="language === 'en'" :class="item.value6 ? 'error-value' : 'value'">Regulatory</div>
|
||||
<div v-else :class="item.value6 ? 'error-value' : 'value'">监管报警</div>
|
||||
<!-- <div v-if="language === 'en'" :class="item.value6 ? 'error-value' : 'value'">Regulatory</div>
|
||||
<div v-else :class="item.value6 ? 'error-value' : 'value'">监管报警{{ $t('pcs.regulatory') }}</div> -->
|
||||
<div :class="item.value6 ? 'error-value' : 'value'">{{ $t('pcs.regulatory') }}</div>
|
||||
</div>
|
||||
|
||||
<div class="lx" />
|
||||
|
||||
@ -1,7 +1,14 @@
|
||||
export const xfcData = [
|
||||
{
|
||||
label: '储能舱烟感1',
|
||||
enlable: 'Energy storage cabin smoke detector 1',
|
||||
enlable: 'Energy Storage Container Smoke Detector 1',
|
||||
zh_CN: '储能舱烟感1',
|
||||
en_US: 'Energy Storage Container Smoke Detector 1',
|
||||
es_ES: 'Detector de humo de la cabina de almacenamiento de energía 1',
|
||||
fr_FR: "Détecteur de fumée du conteneur de stockage d'énergie 1",
|
||||
de_DE: 'Rauchmelder 1 Energiespeichercontainer',
|
||||
pl_PL: 'Kontener magazynu energii – czujnik dymu 1',
|
||||
ar_EG: 'كاشف الدخان ١ لحاوية تخزين الطاقة',
|
||||
field1: 'storageSmoke1Bit0',
|
||||
field2: 'storageSmoke1Bit1',
|
||||
field3: 'storageSmoke1Bit2',
|
||||
@ -17,7 +24,14 @@ export const xfcData = [
|
||||
},
|
||||
{
|
||||
label: '储能舱烟感2',
|
||||
enlable: 'Energy storage cabin smoke detector 2',
|
||||
enlable: 'Energy Storage Container Smoke Detector 2',
|
||||
zh_CN: '储能舱烟感2',
|
||||
en_US: 'Energy Storage Container Smoke Detector 2',
|
||||
es_ES: 'Detector de humo de la cabina de almacenamiento de energía 2',
|
||||
fr_FR: "Détecteur de fumée du conteneur de stockage d'énergie 2",
|
||||
de_DE: 'Rauchmelder 2 Energiespeichercontainer',
|
||||
pl_PL: 'Kontener magazynu energii – czujnik dymu 2',
|
||||
ar_EG: 'كاشف الدخان ٢ لحاوية تخزين الطاقة',
|
||||
field1: 'storageSmoke2Bit0',
|
||||
field2: 'storageSmoke2Bit1',
|
||||
field3: 'storageSmoke2Bit2',
|
||||
@ -33,7 +47,14 @@ export const xfcData = [
|
||||
},
|
||||
{
|
||||
label: '储能舱烟感3',
|
||||
enlable: 'Energy storage cabin smoke detector 3',
|
||||
enlable: 'Energy Storage Container Smoke Detector 3',
|
||||
zh_CN: '储能舱烟感3',
|
||||
en_US: 'Energy Storage Container Smoke Detector 3',
|
||||
es_ES: 'Detector de humo de la cabina de almacenamiento de energía 3',
|
||||
fr_FR: "Détecteur de fumée du conteneur de stockage d'énergie 3",
|
||||
de_DE: 'Rauchmelder 3 Energiespeichercontainer',
|
||||
pl_PL: 'Kontener magazynu energii – czujnik dymu 3',
|
||||
ar_EG: 'كاشف الدخان ٣ لحاوية تخزين الطاقة',
|
||||
field1: 'storageSmoke3Bit0',
|
||||
field2: 'storageSmoke3Bit1',
|
||||
field3: 'storageSmoke3Bit2',
|
||||
@ -49,7 +70,14 @@ export const xfcData = [
|
||||
},
|
||||
{
|
||||
label: '储能舱烟感4',
|
||||
enlable: 'Energy storage cabin smoke detector 4',
|
||||
enlable: 'Energy Storage Container Smoke Detector 4',
|
||||
zh_CN: '储能舱烟感4',
|
||||
en_US: 'Energy Storage Container Smoke Detector 4',
|
||||
es_ES: 'Detector de humo de la cabina de almacenamiento de energía 4',
|
||||
fr_FR: "Détecteur de fumée du conteneur de stockage d'énergie 4",
|
||||
de_DE: 'Rauchmelder 4 Energiespeichercontainer',
|
||||
pl_PL: 'Kontener magazynu energii – czujnik dymu 4',
|
||||
ar_EG: 'كاشف الدخان ٤ لحاوية تخزين الطاقة',
|
||||
field1: 'storageSmoke4Bit0',
|
||||
field2: 'storageSmoke4Bit1',
|
||||
field3: 'storageSmoke4Bit2',
|
||||
@ -65,7 +93,14 @@ export const xfcData = [
|
||||
},
|
||||
{
|
||||
label: '储能舱烟感5',
|
||||
enlable: 'Energy storage cabin smoke detector 5',
|
||||
enlable: 'Energy Storage Container Smoke Detector 5',
|
||||
zh_CN: '储能舱烟感5',
|
||||
en_US: 'Energy Storage Container Smoke Detector 5',
|
||||
es_ES: 'Detector de humo de la cabina de almacenamiento de energía 5',
|
||||
fr_FR: "Détecteur de fumée du conteneur de stockage d'énergie 5",
|
||||
de_DE: 'Rauchmelder 5 Energiespeichercontainer',
|
||||
pl_PL: 'Kontener magazynu energii – czujnik dymu 5',
|
||||
ar_EG: 'كاشف الدخان ٥ لحاوية تخزين الطاقة',
|
||||
field1: 'storageSmoke5Bit0',
|
||||
field2: 'storageSmoke5Bit1',
|
||||
field3: 'storageSmoke5Bit2',
|
||||
@ -81,7 +116,14 @@ export const xfcData = [
|
||||
},
|
||||
{
|
||||
label: '储能舱烟感6',
|
||||
enlable: 'Energy storage cabin smoke detector 6',
|
||||
enlable: 'Energy Storage Container Smoke Detector 6',
|
||||
zh_CN: '储能舱烟感6',
|
||||
en_US: 'Energy Storage Container Smoke Detector 6',
|
||||
es_ES: 'Detector de humo de la cabina de almacenamiento de energía 6',
|
||||
fr_FR: "Détecteur de fumée du conteneur de stockage d'énergie 6",
|
||||
de_DE: 'Rauchmelder 6 Energiespeichercontainer',
|
||||
pl_PL: 'Kontener magazynu energii – czujnik dymu 6',
|
||||
ar_EG: 'كاشف الدخان ٦ لحاوية تخزين الطاقة',
|
||||
field1: 'storageSmoke6Bit0',
|
||||
field2: 'storageSmoke6Bit1',
|
||||
field3: 'storageSmoke6Bit2',
|
||||
@ -97,7 +139,14 @@ export const xfcData = [
|
||||
},
|
||||
{
|
||||
label: '储能舱温感1',
|
||||
enlable: 'Energy storage cabin smoke detector 1',
|
||||
enlable: 'Energy Storage Container Temperature Detector 1',
|
||||
zh_CN: '储能舱温感1',
|
||||
en_US: 'Energy Storage Container Temperature Detector 1',
|
||||
es_ES: 'Detector de temperatura de la cabina de almacenamiento de energía 1',
|
||||
fr_FR: "Détecteur de température du conteneur de stockage d'énergie 1",
|
||||
de_DE: 'Temperaturmelder 1 Energiespeichercontainer',
|
||||
pl_PL: 'Kontener magazynu energii – czujnik temperatury 1',
|
||||
ar_EG: 'كاشف درجة الحرارة ١ لحاوية تخزين الطاقة',
|
||||
field1: 'storageTemperature1Bit0',
|
||||
field2: 'storageTemperature1Bit1',
|
||||
field3: 'storageTemperature1Bit2',
|
||||
@ -113,7 +162,14 @@ export const xfcData = [
|
||||
},
|
||||
{
|
||||
label: '储能舱温感2',
|
||||
enlable: 'Energy storage cabin smoke detector 2',
|
||||
enlable: 'Energy Storage Container Temperature Detector 2',
|
||||
zh_CN: '储能舱温感2',
|
||||
en_US: 'Energy Storage Container Temperature Detector 2',
|
||||
es_ES: 'Detector de temperatura de la cabina de almacenamiento de energía 2',
|
||||
fr_FR: "Détecteur de température du conteneur de stockage d'énergie 2",
|
||||
de_DE: 'Temperaturmelder 2 Energiespeichercontainer',
|
||||
pl_PL: 'Kontener magazynu energii – czujnik temperatury 2',
|
||||
ar_EG: 'كاشف درجة الحرارة ٢ لحاوية تخزين الطاقة',
|
||||
field1: 'storageTemperature2Bit0',
|
||||
field2: 'storageTemperature2Bit1',
|
||||
field3: 'storageTemperature2Bit2',
|
||||
@ -129,7 +185,14 @@ export const xfcData = [
|
||||
},
|
||||
{
|
||||
label: '储能舱温感3',
|
||||
enlable: 'Energy storage cabin smoke detector 3',
|
||||
enlable: 'Energy Storage Container Temperature Detector 3',
|
||||
zh_CN: '储能舱温感3',
|
||||
en_US: 'Energy Storage Container Temperature Detector 3',
|
||||
es_ES: 'Detector de temperatura de la cabina de almacenamiento de energía 3',
|
||||
fr_FR: "Détecteur de température du conteneur de stockage d'énergie 3",
|
||||
de_DE: 'Temperaturmelder 3 Energiespeichercontainer',
|
||||
pl_PL: 'Kontener magazynu energii – czujnik temperatury 3',
|
||||
ar_EG: 'كاشف درجة الحرارة ٣ لحاوية تخزين الطاقة',
|
||||
field1: 'storageTemperature3Bit0',
|
||||
field2: 'storageTemperature3Bit1',
|
||||
field3: 'storageTemperature3Bit2',
|
||||
@ -145,7 +208,14 @@ export const xfcData = [
|
||||
},
|
||||
{
|
||||
label: '储能舱温感4',
|
||||
enlable: 'Energy storage cabin smoke detector 4',
|
||||
enlable: 'Energy Storage Container Temperature Detector 4',
|
||||
zh_CN: '储能舱温感4',
|
||||
en_US: 'Energy Storage Container Temperature Detector 4',
|
||||
es_ES: 'Detector de temperatura de la cabina de almacenamiento de energía 4',
|
||||
fr_FR: "Détecteur de température du conteneur de stockage d'énergie 4",
|
||||
de_DE: 'Temperaturmelder 4 Energiespeichercontainer',
|
||||
pl_PL: 'Kontener magazynu energii – czujnik temperatury 4',
|
||||
ar_EG: 'كاشف درجة الحرارة ٤ لحاوية تخزين الطاقة',
|
||||
field1: 'storageTemperature4Bit0',
|
||||
field2: 'storageTemperature4Bit1',
|
||||
field3: 'storageTemperature4Bit2',
|
||||
@ -161,7 +231,14 @@ export const xfcData = [
|
||||
},
|
||||
{
|
||||
label: '储能舱温感5',
|
||||
enlable: 'Energy storage cabin smoke detector 5',
|
||||
enlable: 'Energy Storage Container Temperature Detector 5',
|
||||
zh_CN: '储能舱温感5',
|
||||
en_US: 'Energy Storage Container Temperature Detector 5',
|
||||
es_ES: 'Detector de temperatura de la cabina de almacenamiento de energía 5',
|
||||
fr_FR: "Détecteur de température du conteneur de stockage d'énergie 5",
|
||||
de_DE: 'Temperaturmelder 5 Energiespeichercontainer',
|
||||
pl_PL: 'Kontener magazynu energii – czujnik temperatury 5',
|
||||
ar_EG: 'كاشف درجة الحرارة ٥ لحاوية تخزين الطاقة',
|
||||
field1: 'storageTemperature5Bit0',
|
||||
field2: 'storageTemperature5Bit1',
|
||||
field3: 'storageTemperature5Bit2',
|
||||
@ -177,7 +254,14 @@ export const xfcData = [
|
||||
},
|
||||
{
|
||||
label: '储能舱温感6',
|
||||
enlable: 'Energy storage cabin smoke detector 6',
|
||||
enlable: 'Energy Storage Container Temperature Detector 6',
|
||||
zh_CN: '储能舱温感6',
|
||||
en_US: 'Energy Storage Container Temperature Detector 6',
|
||||
es_ES: 'Detector de temperatura de la cabina de almacenamiento de energía 6',
|
||||
fr_FR: "Détecteur de température du conteneur de stockage d'énergie 6",
|
||||
de_DE: 'Temperaturmelder 6 Energiespeichercontainer',
|
||||
pl_PL: 'Kontener magazynu energii – czujnik temperatury 6',
|
||||
ar_EG: 'كاشف درجة الحرارة ٦ لحاوية تخزين الطاقة',
|
||||
field1: 'storageTemperature6Bit0',
|
||||
field2: 'storageTemperature6Bit1',
|
||||
field3: 'storageTemperature6Bit2',
|
||||
@ -191,13 +275,19 @@ export const xfcData = [
|
||||
value5: '',
|
||||
value6: ''
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
export const xfcRunData1 = [
|
||||
{
|
||||
label: '储能舱气体释放灯',
|
||||
enlable: 'Storage gas release lamp',
|
||||
enlable: 'Energy Storage Container Gas Release Indicator',
|
||||
zh_CN: '储能舱气体释放灯',
|
||||
en_US: 'Energy Storage Container Gas Release Indicator',
|
||||
es_ES: 'Luz de liberación de gas de la cabina de almacenamiento de energía',
|
||||
fr_FR: "Voyant de libération de gaz du conteneur de stockage d'énergie",
|
||||
de_DE: 'Gasfreisetzungsanzeige Energiespeichercontainer',
|
||||
pl_PL: 'Kontener magazynu energii – wskaźnik uwolnienia gazu',
|
||||
ar_EG: 'مؤشر إطلاق الغاز لحاوية تخزين الطاقة',
|
||||
field1: 'storageOutgassingLampBit0',
|
||||
field2: 'storageOutgassingLampBit1',
|
||||
field3: 'storageOutgassingLampBit2',
|
||||
@ -215,7 +305,14 @@ export const xfcRunData1 = [
|
||||
},
|
||||
{
|
||||
label: '储能舱声光报警器',
|
||||
enlable: 'Storage sound and light alarms',
|
||||
enlable: 'Energy Storage Container Audible and Visual Alarm',
|
||||
zh_CN: '储能舱声光报警器',
|
||||
en_US: 'Energy Storage Container Audible and Visual Alarm',
|
||||
es_ES: 'Alarma acústico-óptica de la cabina de almacenamiento de energía',
|
||||
fr_FR: "Alarme sonore et lumineux du conteneur de stockage d'énergie",
|
||||
de_DE: 'Akustischer/optischer Alarm Energiespeichercontainer',
|
||||
pl_PL: 'Kontener magazynu energii – alarm dźwiękowo-świetlny',
|
||||
ar_EG: 'الإنذار السمعي والبصري لحاوية تخزين الطاقة',
|
||||
field1: 'storagEaudibleVisualAlarmBit0',
|
||||
field2: 'storagEaudibleVisualAlarmBit1',
|
||||
field3: 'storagEaudibleVisualAlarmBit2',
|
||||
@ -231,13 +328,19 @@ export const xfcRunData1 = [
|
||||
value6: '',
|
||||
value7: ''
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
export const xfcRunData2 = [
|
||||
{
|
||||
label: '储能舱紧急启停按钮',
|
||||
enlable: 'Storage emergency start and stop button',
|
||||
enlable: 'Energy Storage Container Emergency Stop Button',
|
||||
zh_CN: '储能舱紧急启停按钮',
|
||||
en_US: 'Energy Storage Container Emergency Stop Button',
|
||||
es_ES: 'Botón de arranque y parada de emergencia de la cabina de almacenamiento de energía',
|
||||
fr_FR: "Bouton d'arrêt/marche d'urgence du conteneur de stockage d'énergie",
|
||||
de_DE: 'Not-Aus-Taste Energiespeichercontainer',
|
||||
pl_PL: 'Kontener magazynu energii – przycisk wyłącznika awaryjnego',
|
||||
ar_EG: 'زر التوقف الطارئ لحاوية تخزين الطاقة',
|
||||
field1: 'storageEmergencyButtonBit0',
|
||||
field2: 'storageEmergencyButtonBit1',
|
||||
field3: 'storageEmergencyButtonBit2',
|
||||
@ -255,7 +358,14 @@ export const xfcRunData2 = [
|
||||
},
|
||||
{
|
||||
label: '储能舱手自动转换开关',
|
||||
enlable: 'Storage hand automatic switch',
|
||||
enlable: 'Energy Storage Container Manual/Automatic Switch',
|
||||
zh_CN: '储能舱手自动转换开关',
|
||||
en_US: 'Energy Storage Container Manual/Automatic Switch',
|
||||
es_ES: 'Interruptor de cambio manual-automatizado de la cabina de almacenamiento de energía',
|
||||
fr_FR: "Commutateur manuel/automatique du conteneur de stockage d'énergie",
|
||||
de_DE: 'Manuell/Automatik-Schalter Energiespeichercontainer',
|
||||
pl_PL: 'Kontener magazynu energii – przełącznik ręczny/automatyczny',
|
||||
ar_EG: 'مفتاح التشغيل اليدوي/التلقائي لحاوية تخزين الطاقة',
|
||||
field1: 'storageTransferSwitchBit0',
|
||||
field2: 'storageTransferSwitchBit1',
|
||||
field3: 'storageTransferSwitchBit2',
|
||||
@ -271,5 +381,4 @@ export const xfcRunData2 = [
|
||||
value6: '',
|
||||
value7: ''
|
||||
}
|
||||
|
||||
]
|
||||
|
||||
@ -87,7 +87,6 @@ export default {
|
||||
getDeviceNode(node) {
|
||||
const self = this
|
||||
console.log(node.deviceType)
|
||||
|
||||
if (node.deviceType) {
|
||||
if (node.deviceType.includes('pcs') && !this.isBoShi(node.stationId)) {
|
||||
this.currentComponent = 'PCS'
|
||||
|
||||
@ -29,7 +29,6 @@
|
||||
</el-col>
|
||||
|
||||
<el-col :xs="12" :sm="12" :md="12" :lg="4" :xl="4">
|
||||
|
||||
<el-button type="primary" icon="el-icon-search" :loading="searchLoading" @click="on_refresh">查询</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
|
||||
@ -13,8 +13,6 @@ const leftBottomList = [
|
||||
]
|
||||
const topCenterList = [
|
||||
{ label: '215kWh', value: 'topCenter_215' },
|
||||
{ label: '261光储1', value: 'pv1AndStorage_261' },
|
||||
{ label: '261光储2', value: 'pv2AndStorage_261' },
|
||||
{ label: '标准', value: 'commonTopCenter' },
|
||||
{ label: '单柜配置', value: 'onceTopCenter' },
|
||||
{ label: '二合一', value: 'secondTopCenter' },
|
||||
@ -29,7 +27,12 @@ const topCenterList = [
|
||||
{ label: '八合一(配置)', value: 'eighthTopCenter' },
|
||||
{ label: '九合一(配置)', value: 'ninthTopCenter' },
|
||||
{ label: '十合一(配置)', value: 'tenthTopCenter' },
|
||||
{ label: '一百二十合一(配置)', value: 'zzhbTopCenter' }
|
||||
{ label: '一百二十合一(配置)', value: 'zzhbTopCenter' },
|
||||
{ label: '261光储1单柜', value: 'pv1AndStorage_261' },
|
||||
{ label: '261光储1单柜(STS)', value: 'pv1AndStorage_sts_261' }, // 新增
|
||||
{ label: '261光储2单柜', value: 'pv2AndStorage_261' }, // 新增
|
||||
{ label: '261光储2单柜(STS)', value: 'pv2AndStorage_sts_261' },
|
||||
{ label: 'PV8四并一', value: 'pv8FourthTopCenter' }
|
||||
]
|
||||
const rightTopList = [
|
||||
{ label: '实时告警', value: 'topRight' },
|
||||
|
||||
@ -373,7 +373,7 @@ export default {
|
||||
process.env.VUE_APP_BASE_API + '/media/otaupgrad/upgradation',
|
||||
headers: {
|
||||
authorization: getToken(),
|
||||
lang: sessionStorage.getItem('language') === 'en' ? 'en_US' : 'zh_CN'
|
||||
lang: sessionStorage.getItem('language') ? sessionStorage.getItem('language') : 'zh_CN'
|
||||
},
|
||||
paramsData: {
|
||||
|
||||
|
||||
@ -311,7 +311,7 @@ export default {
|
||||
uploadUrl: process.env.VUE_APP_BASE_API + '/business/deviceTypeCol/importExcel',
|
||||
headers: {
|
||||
authorization: getToken(),
|
||||
lang: sessionStorage.getItem('language') === 'en' ? 'en_US' : 'zh_CN'
|
||||
lang: sessionStorage.getItem('language') ? sessionStorage.getItem('language') : 'zh_CN'
|
||||
},
|
||||
filters: {
|
||||
|
||||
|
||||
490
src/views/system/remote-manage/index.vue
Normal file
490
src/views/system/remote-manage/index.vue
Normal file
@ -0,0 +1,490 @@
|
||||
<template>
|
||||
<section class="role-container">
|
||||
<el-form id="searchForm" :model="filters">
|
||||
<el-row :gutter="5" class="search-row">
|
||||
<el-col :xs="2" :sm="12" :md="12" :lg="6" :xl="6">
|
||||
<el-form-item label="电站名称:" label-width="100px">
|
||||
<el-select v-model="filters.stationId" placeholder="请选择" clearable filterable @change="selectStation">
|
||||
<el-option
|
||||
v-for="item in stations"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="44" :sm="24" :md="24" :lg="16" :xl="16">
|
||||
<el-button type="primary" icon="el-icon-search" :loading="serachLoading" @click="on_refresh">
|
||||
查询
|
||||
</el-button>
|
||||
</el-col>
|
||||
<el-col :xs="4" :sm="12" :md="12" :lg="2" :xl="2" style="text-align:right;">
|
||||
|
||||
<el-button v-permission="['sys:remote:add']" type="primary" icon="el-icon-plus" @click="handleAddRemote">
|
||||
新增
|
||||
</el-button>
|
||||
<!-- <el-button
|
||||
v-if="false"
|
||||
type="success"
|
||||
class="download-btn"
|
||||
icon="el-icon-upload2"
|
||||
:loading="downLoading"
|
||||
@click="on_download"
|
||||
>
|
||||
导出
|
||||
</el-button> -->
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
<div class="table-box">
|
||||
<el-table
|
||||
v-loading="load_data"
|
||||
:data="remotesList"
|
||||
element-loading-text="拼命加载中"
|
||||
border
|
||||
:height="$setAutoTableHeight(46,searchHeight)"
|
||||
highlight-current-row
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-table-column
|
||||
label="电站名称"
|
||||
width="320"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.stationName }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="远程地址"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.ip }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="端口"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.port }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="类型"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.type }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="内网IP"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.intranetIp }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createTime" label="创建时间" show-overflow-tooltip :formatter="formatTime" />
|
||||
<el-table-column
|
||||
align="center"
|
||||
label="操作"
|
||||
width="220"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-button v-permission="['sys:remote:update']" type="text" icon="el-icon-edit" @click="handleEdit(scope)">
|
||||
编辑
|
||||
</el-button>
|
||||
<el-button
|
||||
v-permission="['sys:remote:deleted']"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
class="btn-delete-table-text"
|
||||
@click="handleDelete(scope)"
|
||||
>
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<Pagingbar>
|
||||
<div slot="page">
|
||||
<el-pagination
|
||||
:current-page="currentPage"
|
||||
:page-size="pageSize"
|
||||
:page-sizes="pageSizes"
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="total"
|
||||
@current-change="handleCurrentChange"
|
||||
@size-change="handleSizeChange"
|
||||
/>
|
||||
</div>
|
||||
</Pagingbar>
|
||||
</div>
|
||||
|
||||
<el-dialog
|
||||
class="remote-dialog"
|
||||
width="30%"
|
||||
:append-to-body="false"
|
||||
:visible.sync="dialogVisible"
|
||||
:title="dialogType === 'edit' ? '编辑' : '新增' "
|
||||
center
|
||||
:close-on-click-modal="false"
|
||||
@close="on_cancel"
|
||||
>
|
||||
<el-form
|
||||
ref="roleModel"
|
||||
:model="remote"
|
||||
label-width="80px"
|
||||
label-position="right"
|
||||
:rules="formRules"
|
||||
>
|
||||
<el-form-item label="电站名称" prop="stationId">
|
||||
<el-select v-model="remote.stationId" placeholder="请选择" filterable :disabled="dialogType === 'edit' ? true : false" @change="selectStation">
|
||||
<el-option
|
||||
v-for="item in stations"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="远程IP" prop="ip">
|
||||
<el-input
|
||||
v-model="remote.ip"
|
||||
type="text"
|
||||
maxlength="200"
|
||||
placeholder="请输入远程访问IP(例:255.255.255.255)"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="端口" prop="port">
|
||||
<el-input
|
||||
v-model="remote.port"
|
||||
type="text"
|
||||
maxlength="200"
|
||||
placeholder="请输入远程访问端口"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="类型" prop="type">
|
||||
<el-input
|
||||
v-model="remote.type"
|
||||
type="text"
|
||||
maxlength="200"
|
||||
placeholder="请输入远程访问类型"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="内网IP" prop="intranetIp">
|
||||
<el-input
|
||||
v-model="remote.intranetIp"
|
||||
type="text"
|
||||
maxlength="200"
|
||||
placeholder="请输入内网IP(例:255.255.255.255)"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="内网账号" prop="userName">
|
||||
<el-input
|
||||
v-model="remote.userName"
|
||||
type="text"
|
||||
maxlength="200"
|
||||
placeholder="请输入内网账号"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="内网密码" prop="password">
|
||||
<el-input
|
||||
v-model="remote.password"
|
||||
maxlength="200"
|
||||
placeholder="请输入内网密码"
|
||||
show-password
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button plain @click="on_cancel">
|
||||
取消
|
||||
</el-button>
|
||||
<el-button v-preventReClick type="primary" :loading="confirmLoading" @click="confirmRemote">
|
||||
确定
|
||||
</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</section>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import path from 'path'
|
||||
import { generateTitle } from '@/utils/i18n'
|
||||
import {
|
||||
GetRemoteList,
|
||||
AddUpdateRemote,
|
||||
// GetRemoteDetails,
|
||||
DeleteRemote
|
||||
} from '@/api/system/remote-manage'
|
||||
import { pageSize, pageSizes } from '@/config'
|
||||
import Pagingbar from '@/components/Pagingbar'
|
||||
import i18n from '@/lang'
|
||||
import { parseTime } from '@/utils'
|
||||
|
||||
const defaultRemote = {
|
||||
intranetIp: '',
|
||||
ip: '',
|
||||
password: '',
|
||||
port: '',
|
||||
stationId: null,
|
||||
type: '',
|
||||
userName: ''
|
||||
}
|
||||
|
||||
export default {
|
||||
components: {
|
||||
Pagingbar
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
submitLoading: false,
|
||||
remote: Object.assign({}, defaultRemote),
|
||||
routes: [],
|
||||
remotesList: [],
|
||||
dialogVisible: false,
|
||||
dialogType: 'new',
|
||||
// 当前页码
|
||||
currentPage: 1,
|
||||
// 数据总条目
|
||||
total: 0,
|
||||
// 每页显示多少条数据
|
||||
pageSize: pageSize,
|
||||
pageSizes: pageSizes,
|
||||
// 请求时的loading效果
|
||||
load_data: false,
|
||||
serachLoading: false, // 搜索loading
|
||||
formLoading: false,
|
||||
filters: {
|
||||
stationId: null
|
||||
},
|
||||
formRules: {
|
||||
// intranetIp: '',
|
||||
// ip: '',
|
||||
// password: '',
|
||||
// port: '',
|
||||
// stationId: null,
|
||||
// type: '',
|
||||
// userName: '',
|
||||
stationId: [
|
||||
{
|
||||
required: true,
|
||||
message: '请选择电站',
|
||||
trigger: 'blur'
|
||||
}
|
||||
],
|
||||
sort: [
|
||||
{
|
||||
required: true,
|
||||
message: '请排序',
|
||||
trigger: 'blur'
|
||||
}
|
||||
]
|
||||
},
|
||||
levelData: [],
|
||||
confirmLoading: false // 确认loading
|
||||
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
searchHeight() {
|
||||
return this.$store.getters.searchHeight
|
||||
},
|
||||
stations: function() {
|
||||
return this.$store.getters.stations || []
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getRemotes()
|
||||
},
|
||||
methods: {
|
||||
selectStation() {
|
||||
this.$forceUpdate()
|
||||
},
|
||||
formatTime(row) {
|
||||
return row.createTime ? parseTime(new Date(row.createTime), '{y}-{m}-{d} {h}:{i}') : ''
|
||||
},
|
||||
generateTitle,
|
||||
// 刷新
|
||||
async on_refresh() {
|
||||
this.serachLoading = true
|
||||
this.currentPage = 1
|
||||
await this.getRemotes()
|
||||
this.serachLoading = false
|
||||
},
|
||||
// 页码选择
|
||||
handleCurrentChange(val) {
|
||||
this.currentPage = val
|
||||
this.getRemotes()
|
||||
},
|
||||
handleSizeChange(val) {
|
||||
this.currentPage = 1
|
||||
this.pageSize = val
|
||||
this.getRemotes()
|
||||
},
|
||||
async getRemotes() {
|
||||
try {
|
||||
this.load_data = true
|
||||
const params = {
|
||||
pageNum: this.currentPage,
|
||||
pageSize: this.pageSize,
|
||||
stationId: this.filters.stationId
|
||||
}
|
||||
const res = await GetRemoteList(params)
|
||||
this.remotesList = res.data.list
|
||||
this.total = res.data.totalRows
|
||||
this.load_data = false
|
||||
} catch (error) {
|
||||
this.load_data = false
|
||||
}
|
||||
},
|
||||
i18n(routes) {
|
||||
const app = routes.map((route) => {
|
||||
route.title = i18n.t(`route.${route.title}`)
|
||||
if (route.children) {
|
||||
route.children = this.i18n(route.children)
|
||||
}
|
||||
return route
|
||||
})
|
||||
return app
|
||||
},
|
||||
handleAddRemote() {
|
||||
this.remote = Object.assign({}, defaultRemote)
|
||||
this.dialogType = 'new'
|
||||
this.dialogVisible = true
|
||||
// this.getLevelData()
|
||||
},
|
||||
async handleEdit(scope) {
|
||||
const self = this
|
||||
this.dialogType = 'edit'
|
||||
self.remote = Object.assign({}, scope.row)
|
||||
console.log(self.remote)
|
||||
this.dialogVisible = true
|
||||
this.$nextTick(() => {
|
||||
this.$refs.roleModel.clearValidate()
|
||||
})
|
||||
},
|
||||
handleDelete({ $index, row }) {
|
||||
this.$confirm(
|
||||
'此操作将删除该远程控制, 是否继续?',
|
||||
'警告',
|
||||
{
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
showClose: false,
|
||||
center: true
|
||||
}
|
||||
).then(async() => {
|
||||
await DeleteRemote(row.id)
|
||||
if (this.remotesList.length === 1) {
|
||||
this.currentPage--
|
||||
}
|
||||
this.getRemotes()
|
||||
|
||||
this.$notify({
|
||||
title: '成功',
|
||||
message: '删除成功',
|
||||
type: 'success',
|
||||
duration: 2000
|
||||
})
|
||||
})
|
||||
},
|
||||
confirmRemote() {
|
||||
this.$refs.roleModel.validate(async(valid) => {
|
||||
if (valid) {
|
||||
const isEdit = this.dialogType === 'edit'
|
||||
this.handleToSave(isEdit)
|
||||
}
|
||||
})
|
||||
},
|
||||
on_cancel() {
|
||||
this.$refs.roleModel.resetFields()
|
||||
this.dialogVisible = false
|
||||
},
|
||||
handleToSave(isEdit) {
|
||||
const params = Object.assign({}, this.remote)
|
||||
this.confirmLoading = true
|
||||
AddUpdateRemote(params).then((res) => {
|
||||
this.dialogVisible = false
|
||||
this.getRemotes()
|
||||
this.$notify({
|
||||
title: '成功',
|
||||
message: isEdit
|
||||
? '编辑成功'
|
||||
: '新增成功',
|
||||
type: 'success',
|
||||
duration: 2000
|
||||
})
|
||||
}, (rej) => {}).finally(() => {
|
||||
this.confirmLoading = false
|
||||
})
|
||||
|
||||
this.$refs.roleModel.clearValidate()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.role-container {
|
||||
position: relative;
|
||||
height: 100%;
|
||||
overflow: auto;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background:var(--table-bg);
|
||||
padding: 10px;
|
||||
box-shadow: inset 0px 2px 16px 0px rgba(0, 148, 255, 0.15);
|
||||
.search-row{
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
}
|
||||
.top-search {
|
||||
width: 100%;
|
||||
height: 50px;
|
||||
margin-bottom: 10px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
padding: 0 10px;
|
||||
.serach-item {
|
||||
color: $text-color;
|
||||
.input-box {
|
||||
width: 60%;
|
||||
}
|
||||
|
||||
}
|
||||
.btns-box {
|
||||
text-align: right;
|
||||
.upload-btn{
|
||||
background: $tiffany;
|
||||
}
|
||||
.download-btn{
|
||||
background: $green;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
.table-box{
|
||||
flex: 1;
|
||||
margin-top: 10px;
|
||||
}
|
||||
.permission-tree {
|
||||
margin-bottom: 30px;
|
||||
max-height: 200px;
|
||||
min-height: 100px;
|
||||
overflow: auto;
|
||||
}
|
||||
}
|
||||
.remote-dialog /deep/ .el-select,
|
||||
.remote-dialog /deep/ .el-input {
|
||||
width: 100%; /* 占满父容器宽度,和其他输入框对齐 */
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user