暂降治理评估微调

This commit is contained in:
2024-04-19 14:56:50 +08:00
parent 444d06ee1a
commit b87a1d3973
3 changed files with 95 additions and 76 deletions

View File

@@ -169,8 +169,8 @@ const tableStore = new TableStore({
delete tableStore.table.params[key]
}
}
sags3DRef.value?.search(userId, tableStore.table.params.searchBeginTime, tableStore.table.params.searchEndTime)
toleranceCurveRef.value?.search(userId, tableStore.table.params.searchBeginTime, tableStore.table.params.searchEndTime)
sags3DRef.value?.search(userId.value, tableStore.table.params.searchBeginTime, tableStore.table.params.searchEndTime)
toleranceCurveRef.value?.search(userId.value, tableStore.table.params.searchBeginTime, tableStore.table.params.searchEndTime)
}
})
// 注入到子组件
@@ -185,10 +185,10 @@ const initData = async () => {
Object.assign(userListData, res.data)
})
userId.value = query.id
tableStore.table.params.userId = userId
tableStore.table.params.userId = userId.value
tableStore.index()
sags3DRef.value?.search(userId, tableStore.table.params.searchBeginTime, tableStore.table.params.searchEndTime)
toleranceCurveRef.value?.search(userId, tableStore.table.params.searchBeginTime, tableStore.table.params.searchEndTime)
sags3DRef.value?.search(userId.value, tableStore.table.params.searchBeginTime, tableStore.table.params.searchEndTime)
toleranceCurveRef.value?.search(userId.value, tableStore.table.params.searchBeginTime, tableStore.table.params.searchEndTime)
}
initData()

View File

@@ -58,11 +58,13 @@
<el-form-item label='上限曲线膝点'>
<div>
<div>
<el-input-number v-model='unit.vtcAmpUpper' controls-position='right' />
<el-input-number v-model='unit.vtcAmpUpper' controls-position='right'
@change='reDrawPic' />
<span class='ml10' style='color: #333'>p.u.</span>
</div>
<div class='mt10'>
<el-input-number v-model='unit.vtcTimeUpper' controls-position='right' />
<el-input-number v-model='unit.vtcTimeUpper' controls-position='right'
@change='reDrawPic' />
<span class='ml10' style='color: #333'>ms</span>
</div>
</div>
@@ -70,11 +72,13 @@
<el-form-item label='下限曲线膝点'>
<div>
<div>
<el-input-number v-model='unit.vtcAmpLower' controls-position='right' />
<el-input-number v-model='unit.vtcAmpLower' controls-position='right'
@change='reDrawPic' />
<span class='ml10' style='color: #333'>p.u.</span>
</div>
<div class='mt10'>
<el-input-number v-model='unit.vtcTimeLower' controls-position='right' />
<el-input-number v-model='unit.vtcTimeLower' controls-position='right'
@change='reDrawPic' />
<span class='ml10' style='color: #333'>ms</span>
</div>
</div>
@@ -124,6 +128,7 @@ const unKnownEvent = ref([])
const overEventColor = ref('#A52a2a')
const unOverEventColor = ref('#61a0a8')
const unKnownEventColor = ref('#d48265')
const eventData = ref()
const search = async (id: string, beginTime: string, endTime: string) => {
// 从父组件tableStore获取参数
searchBeginTime.value = beginTime
@@ -159,70 +164,10 @@ const search = async (id: string, beginTime: string, endTime: string) => {
}
await getEventDataByProductLineId(data).then((res: any) => {
//清洗要显示的数据
if (res.data.length > 0) {
for (let event of res.data) {
//判断落在哪个区域内
let eventTime = Number(event.duration) / 1000
let eventAmplitude = Number(event.featureAmplitude)
if (eventTime < Number(unit.value.vtcTimeUpper/1000) || eventAmplitude > Number(unit.value.vtcAmpUpper)) {
//未越限
const dataTemp = {
value: [
eventTime,
eventAmplitude,
event.startTime,
event.incomingLineName
],
itemStyle: {
normal: {
color: unOverEventColor.value
}
}
}
unOverEvent.value.push(dataTemp)
} else if (eventTime > Number(unit.value.vtcTimeLower/1000) && eventAmplitude < Number(unit.value.vtcAmpLower)) {
//故障阶段
const dataTemp = {
value: [
eventTime,
eventAmplitude,
event.startTime,
event.incomingLineName
],
itemStyle: {
normal: {
color: overEventColor.value
}
}
}
overEvent.value.push(dataTemp)
} else {
//不确定事件
const dataTemp = {
value: [
eventTime,
eventAmplitude,
event.startTime,
event.incomingLineName
],
itemStyle: {
normal: {
color: unKnownEventColor.value
}
}
}
unKnownEvent.value.push(dataTemp)
}
}
}
eventData.value = res.data
reDrawPic()
})
//初始化图表
initOptions()
}
const options = ref()
@@ -255,15 +200,16 @@ const initOptions = () => {
yAxis: {
name: '幅值/p.u.',
max: 1,
min: 0
min: 0,
splitLine: { show: false }
},
grid: {
right: '70px'
right: '78px',
},
color: ['#ff0000', '#ff0000', '#A52a2a', '#61a0a8', '#d48265'],
series: [
{
type: 'line',
color:'#ff0000',
data: [
[unit.value.vtcTimeUpper / 1000, 0],
[unit.value.vtcTimeUpper / 1000, unit.value.vtcAmpUpper],
@@ -276,6 +222,7 @@ const initOptions = () => {
},
{
type: 'line',
color:'#ff0000',
data: [
[unit.value.vtcTimeLower / 1000, 0],
[unit.value.vtcTimeLower / 1000, unit.value.vtcAmpLower],
@@ -310,6 +257,74 @@ const initOptions = () => {
}
}
}
const reDrawPic = () => {
//清洗要显示的数据
if (eventData.value.length > 0) {
unOverEvent.value=[]
overEvent.value=[]
unKnownEvent.value=[]
for (let event of eventData.value) {
//判断落在哪个区域内
let eventTime = Number(event.duration) / 1000
let eventAmplitude = Number(event.featureAmplitude)
if (eventTime < Number(unit.value.vtcTimeUpper / 1000) || eventAmplitude > Number(unit.value.vtcAmpUpper)) {
//未越限
const dataTemp = {
value: [
eventTime,
eventAmplitude,
event.startTime,
event.incomingLineName
],
itemStyle: {
normal: {
color: unOverEventColor.value
}
}
}
unOverEvent.value.push(dataTemp)
} else if (eventTime > Number(unit.value.vtcTimeLower / 1000) && eventAmplitude < Number(unit.value.vtcAmpLower)) {
//故障阶段
const dataTemp = {
value: [
eventTime,
eventAmplitude,
event.startTime,
event.incomingLineName
],
itemStyle: {
normal: {
color: overEventColor.value
}
}
}
overEvent.value.push(dataTemp)
} else {
//不确定事件
const dataTemp = {
value: [
eventTime,
eventAmplitude,
event.startTime,
event.incomingLineName
],
itemStyle: {
normal: {
color: unKnownEventColor.value
}
}
}
unKnownEvent.value.push(dataTemp)
}
}
}
//初始化图表
initOptions()
}
defineExpose({ search })
</script>

View File

@@ -78,7 +78,11 @@ const tableStore = new TableStore({
icon: 'el-icon-EditPen',
render: 'basicButton',
click: row => {
push(`/admin/businessUserRouter/eventView?id=${row.id}`)
if (Number(row.productCount) < 1) {
ElMessage.error('请创建该用户的生产线')
} else {
push(`/admin/businessUserRouter/eventView?id=${row.id}`)
}
}
},