You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

192 lines
4.5 KiB

import type { BasicColumn, FormSchema } from '@/components/Table'
import {optionListApi, subSystemListApi} from "@/api/alert/model/select";
import {h, ref} from "vue";
import {systemSelectParams} from "@/api/alert/model/model/optionsModel";
import {FileItem, UploadResultStatus} from "@/components/Upload/src/typing";
import {Progress} from "ant-design-vue";
const optionList = await optionListApi()
const systemOptions = ref<any>([])
systemOptions.value = optionList.systems
export const searchFormSchema: FormSchema[] = [
{
label: '机组',
field: 'unit',
component: 'Select',
defaultValue: optionList.units[0].id || null,
colProps: { span: 4 },
componentProps: ({ schema, tableAction, formActionType, formModel }) => {
return {
// xxxx props
allowClear: false,
placeholder: '请选择机组',
options: optionList.units.map(unit => ({ value: unit.id, label: unit.name })),
onChange: async (e: any) => {
// const { reload } = tableAction
// reload()
// or
console.log(e)
const param: systemSelectParams = {
unitId: e,
typeId: formModel.type,
}
systemOptions.value = await subSystemListApi(param)
formModel.system = systemOptions.value[0].id
},
}
},
},
{
label: '系统',
field: 'type',
component: 'Select',
defaultValue: optionList.types[0].id || null,
colProps: { span: 4 },
componentProps: ({ formModel }) => {
return {
allowClear: false,
placeholder: '请选择系统',
options: optionList.types.map(type => ({ value: type.id, label: type.name })),
onChange: async (e: any) => {
// const { reload } = tableAction
// reload()
// or
console.log(e)
const param: systemSelectParams = {
unitId: formModel.unit,
typeId: e,
}
systemOptions.value = await subSystemListApi(param)
},
}
},
},
{
label: '子系统',
field: 'system',
component: 'Select',
defaultValue: systemOptions.value[0].id || null,
colProps: { span: 4 },
componentProps: () => {
return {
allowClear: false,
placeholder: '请选择子系统',
options: systemOptions.value.map(system => ({ value: system.id, label: system.name })),
}
},
},
{
label: '模型实例名称',
field: 'mpName',
component: 'Input',
labelWidth: 120,
defaultValue: '',
colProps: { span: 7 },
}
]
export const columns: BasicColumn[] = [
{
title: '编号',
dataIndex: 'warnId',
width: 80,
fixed: 'left',
},
{
title: '机组',
dataIndex: 'unitName',
width: 80,
fixed: 'left',
},
{
title: '报警名称',
dataIndex: 'alarmName',
width: 180,
fixed: 'left',
// 将 JSX 改为 h 函数调用
customRender: ({ record }) => {
return h('div', [
h('div', record.pointName),
h('div', { style: 'color: #999; font-size: 12px' }, record.pointId)
]);
},
},
{
title: '单位',
dataIndex: 'unit',
width: 50,
fixed: 'left',
},
{
title: '测点值',
dataIndex: 'unit',
width: 150,
// 将 JSX 改为 h 函数调用
customRender: ({ record }) => {
return h('div', [
h('div', { style: 'color: #006400;font-weight:bold' },'实时值:'+record.pointValue),
h('div', { style: 'color: #0960BD;font-weight:bold' },'重构值:'+record.outputPointValue),
]);
},
},
{
title: '偏差值',
dataIndex: 'biasValue',
width: 50
},
{
title: '安全区间',
dataIndex: 'limit',
width: 100,
// 将 JSX 改为 h 函数调用
customRender: ({ record }) => {
return h('div', [
h('div', record.lowlimit),
h('div', record.uplimit),
]);
},
},
{
title: '模型实例名称',
dataIndex: 'mpName',
width: 150,
ellipsis: false, // ⭐ 关键
},
{
title: '预警时间',
dataIndex: 'createTime',
4 weeks ago
width: 200,
// 将 JSX 改为 h 函数调用
customRender: ({ record }) => {
return h('div', [
h('div', record.createTime),
h('div', '--'),
]);
},
},
{
title: '持续时长',
dataIndex: 'timeDiffStr',
width: 90,
ellipsis: false, // ⭐ 关键
},
{
title: '告警级别',
dataIndex: 'alarmModelRuleName',
width: 80,
ellipsis: false, // ⭐ 关键
},
{
title: '专业',
dataIndex: 'systemName',
width: 100,
}
]