From 58f99dac306ae8178d2d7b7c178e2cdf0d4eefb3 Mon Sep 17 00:00:00 2001 From: xjf <378266566@qq.com> Date: Wed, 17 Dec 2025 09:59:11 +0800 Subject: [PATCH 01/24] =?UTF-8?q?fix:=E5=91=8A=E8=AD=A6=E7=BA=A7=E5=88=AB?= =?UTF-8?q?=E4=B8=8B=E6=8B=89=E9=80=89=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/alert/warn/index.ts | 5 +++++ src/views/run/calc/index.vue | 5 ++--- src/views/run/instant/warnConfig/index.vue | 6 ++--- src/views/run/instant/warnConfig/warn.data.ts | 20 ++++++++--------- src/views/warn/alarm/alarm.data.ts | 8 +++---- src/views/warn/alarm/index.vue | 22 +++++++++++-------- 6 files changed, 37 insertions(+), 29 deletions(-) diff --git a/src/api/alert/warn/index.ts b/src/api/alert/warn/index.ts index 4ca8de8..0d93c67 100644 --- a/src/api/alert/warn/index.ts +++ b/src/api/alert/warn/index.ts @@ -35,3 +35,8 @@ export function updateWarn(data: WarnVO) { export function getWarn(id: number) { return defHttp.get({ url: `/alert/warn/get?id=${id}` }) } + +// 查询预警等级列表-不分页 +export function getAlarmLevelList() { + return defHttp.get({ url: '/alert/warn/alarmlevel/list'}) +} diff --git a/src/views/run/calc/index.vue b/src/views/run/calc/index.vue index a44a829..a52e371 100644 --- a/src/views/run/calc/index.vue +++ b/src/views/run/calc/index.vue @@ -44,9 +44,8 @@ const [registerTable, {getForm, reload, getDataSource, updateTableDataRecord}] = style: { textAlign: 'left', marginLeft: '10px', - }, - }, - + } + } }, useSearchForm: true, showTableSetting: true, diff --git a/src/views/run/instant/warnConfig/index.vue b/src/views/run/instant/warnConfig/index.vue index 7326844..98612d2 100644 --- a/src/views/run/instant/warnConfig/index.vue +++ b/src/views/run/instant/warnConfig/index.vue @@ -23,7 +23,7 @@ const [registerUpdateModal, { openModal: openUpdateModal }] = useModal() const [registerTable, { getForm, reload, getDataSource, updateTableDataRecord }] = useTable({ title: '预警测点列表', api: getWarnPage, - rowKey: 'id', + rowKey: 'warnId', immediate: true, columns, formConfig: { @@ -37,9 +37,9 @@ const [registerTable, { getForm, reload, getDataSource, updateTableDataRecord }] }, beforeFetch: (params) => { - // 方式二:通过查询前的事件增加默认值,然后设置到表单值中 + // 查询前的事件增加默认值,然后设置到表单值中 params.mpId = route.query.mpId - getForm().setFieldsValue(params) + // getForm().setFieldsValue(params) return params }, useSearchForm: !route.query.mpId, diff --git a/src/views/run/instant/warnConfig/warn.data.ts b/src/views/run/instant/warnConfig/warn.data.ts index 6ba6429..e9be076 100644 --- a/src/views/run/instant/warnConfig/warn.data.ts +++ b/src/views/run/instant/warnConfig/warn.data.ts @@ -1,5 +1,7 @@ import type { BasicColumn, FormSchema } from '@/components/Table' - +import {getAlarmLevelList} from "@/api/alert/warn"; +const alarmLevelList = await getAlarmLevelList(); +console.log(alarmLevelList) export const columns: BasicColumn[] = [ { title: '编号', @@ -68,12 +70,6 @@ export const columns: BasicColumn[] = [ dataIndex: 'warnConstraintName', width: 120, - }, - { - title: '报警类型', - dataIndex: 'alarmModelRuleName', - width: 120, - }, { title: '告警延时', @@ -191,7 +187,11 @@ export const updateWarnForm: FormSchema[] = [ field: 'alarmLevel', component: 'Select', componentProps: { - options: [], + options: alarmLevelList, + fieldNames: { + label: 'alarmLevelName', + value: 'alarmLevel', + }, }, required: true, colProps: { @@ -204,7 +204,7 @@ export const updateWarnForm: FormSchema[] = [ component: 'Input', required: true, colProps: { - span: 12, + span: 24, }, }, { @@ -264,7 +264,7 @@ export const updateWarnForm: FormSchema[] = [ component: 'Input', required: true, colProps: { - span: 12, + span: 24, }, }, ] diff --git a/src/views/warn/alarm/alarm.data.ts b/src/views/warn/alarm/alarm.data.ts index d301db2..5272436 100644 --- a/src/views/warn/alarm/alarm.data.ts +++ b/src/views/warn/alarm/alarm.data.ts @@ -14,7 +14,7 @@ export const searchFormSchema: FormSchema[] = [ field: 'unit', component: 'Select', defaultValue: optionList.units[0].id || null, - colProps: { span: 4 }, + colProps: { span: 5 }, componentProps: ({ schema, tableAction, formActionType, formModel }) => { return { @@ -42,7 +42,7 @@ export const searchFormSchema: FormSchema[] = [ field: 'type', component: 'Select', defaultValue: optionList.types[0].id || null, - colProps: { span: 4 }, + colProps: { span: 5 }, componentProps: ({ formModel }) => { return { allowClear: false, @@ -67,7 +67,7 @@ export const searchFormSchema: FormSchema[] = [ field: 'system', component: 'Select', defaultValue: systemOptions.value[0].id || null, - colProps: { span: 4 }, + colProps: { span: 5 }, componentProps: () => { return { allowClear: false, @@ -83,7 +83,7 @@ export const searchFormSchema: FormSchema[] = [ component: 'Input', labelWidth: 120, defaultValue: '', - colProps: { span: 7 }, + colProps: { span: 6 }, } ] diff --git a/src/views/warn/alarm/index.vue b/src/views/warn/alarm/index.vue index 10dd894..5c6248d 100644 --- a/src/views/warn/alarm/index.vue +++ b/src/views/warn/alarm/index.vue @@ -4,7 +4,7 @@ import { onMounted } from 'vue' import { useRoute } from 'vue-router' import { columns, searchFormSchema } from './alarm.data' -// import UpdateModal from './UpdateModal.vue' +import UpdateModal from '../../run/instant/warnConfig/UpdateModal.vue' import { BasicTable, TableAction, useTable } from '@/components/Table' import { getWarnPageReal, updateWarn } from '@/api/alert/warn' @@ -32,11 +32,15 @@ const [registerTable, { getForm, reload, getDataSource, updateTableDataRecord }] labelWidth: 80, schemas: searchFormSchema, showResetButton: false, + submitButtonOptions:{ + preIcon: IconEnum.SEARCH, + }, actionColOptions: { - span: 4, + span: 2, style: { - marginLeft: '10px' - } + textAlign: 'left', + marginLeft: '10px', + }, }, }, showTableSetting: true, @@ -55,7 +59,7 @@ async function updateStatus(record) { console.log(record) reload() } -function handleWarnConfig(record: Recordable) { +function handleUpdate(record: Recordable) { openUpdateModal(true, { record, isUpdate: true }) } @@ -73,16 +77,16 @@ onMounted(async () => { - + From 9fb490a1a29823b919b5dcf896465f569c0951e2 Mon Sep 17 00:00:00 2001 From: xjf <378266566@qq.com> Date: Fri, 19 Dec 2025 09:21:46 +0800 Subject: [PATCH 02/24] =?UTF-8?q?feat:=E9=9B=86=E4=B8=AD=E5=91=8A=E8=AD=A6?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=B6=8B=E5=8A=BF=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/alert/warn/index.ts | 11 +++++ src/views/exa/HistoryLine.vue | 36 ++++++++------ src/views/exa/history/index.vue | 9 ++-- src/views/run/calc/index.vue | 7 +-- src/views/run/instant/detail.vue | 13 +++-- src/views/run/instant/instant.data.ts | 28 ++++++----- src/views/warn/alarm/TrendModal.vue | 70 +++++++++++++++++++++++++++ src/views/warn/alarm/alarm.data.ts | 40 +++++++++++++++ src/views/warn/alarm/index.vue | 18 +++++-- 9 files changed, 188 insertions(+), 44 deletions(-) create mode 100644 src/views/warn/alarm/TrendModal.vue diff --git a/src/api/alert/warn/index.ts b/src/api/alert/warn/index.ts index 0d93c67..f36090e 100644 --- a/src/api/alert/warn/index.ts +++ b/src/api/alert/warn/index.ts @@ -40,3 +40,14 @@ export function getWarn(id: number) { export function getAlarmLevelList() { return defHttp.get({ url: '/alert/warn/alarmlevel/list'}) } + +export interface WarnTrendReqVO { + id?:string, + exaHistoryReqVO?: EXAHistoryReqVO +} + +// 查询预警趋势 +export function getWarnTrend(params: WarnTrendReqVO) { + return defHttp.get({ url: '/alert/warn/alarm/trend', params }) +} + diff --git a/src/views/exa/HistoryLine.vue b/src/views/exa/HistoryLine.vue index c0c850a..82cb8e0 100644 --- a/src/views/exa/HistoryLine.vue +++ b/src/views/exa/HistoryLine.vue @@ -14,21 +14,24 @@ const props = defineProps({ }, height: { type: String, - default: propTypes.string.def('500px'), + default: '500px', + }, + width: { + type: String, + default: '100%', }, title: { type: String, default: '', }, name: { - type: Array, - default: [], + type: Array as PropType, + default: () => [], }, data: { - type: Array>, - default: () => [[]], + type: Array as PropType, + default: () => [], }, - width: propTypes.string.def('100%'), // height: propTypes.string.def('70vh'), }) const chartRef = ref(null) @@ -51,7 +54,7 @@ watch( const series = ref([]) const title = ref({}) - for (let i = 0; i < props.data.length; i++) { + for (let i = 0; i < props.data?.length; i++) { title.value = { left: 'left', text: props.title, @@ -70,11 +73,11 @@ watch( scale: true, // 开启自适应刻度 }) series.value.push({ - name: props.name[i], + name: props.name?.[i] || '', type: 'line', smooth: true, showSymbol: false, - data: props.data[i], + data: props.data?.[i] || [], yAxisIndex: i, }) } @@ -100,6 +103,9 @@ watch( position(pt) { return [pt[0], '10%'] }, + confine: true, // 添加此行,限制 tooltip 在图表容器内显示 + backgroundColor: 'rgba(255, 255, 255, 0.5)', // ⭐ 透明度 0~1 + }, title: title.value, toolbox: { @@ -130,15 +136,14 @@ watch( function convertToCSV(data) { let csv = '' // 添加列头 - const name = props.name.join(',') + const name = props.name?.join(',') || '' csv += `时间,${name}\n` // 遍历数据并添加到CSV字符串中 - for (let i = 0; i < props.data[0].length; i++) { + for (let i = 0; i < props.data?.[0]?.length || 0; i++) { let data = '' - for (let j = 0; j < props.data.length; j++) - data += `,${props.data[j][i][1]}` - - csv += `${moment(props.data[0][i][0]).format('YYYY-MM-DD HH:mm:ss')}${data}\n` + for (let j = 0; j < props.data?.length || 0; j++) + data += `,${props.data?.[j]?.[i]?.[1] || ''}` + csv += `${moment(props.data?.[0]?.[i]?.[0] || 0).format('YYYY-MM-DD HH:mm:ss')}${data}\n` // props.data[i].map((item, index) => { // csv += 'x值' + ',' + 'y值' + '\n' // }) @@ -156,7 +161,6 @@ watch( length: 6, lineStyle: { type: 'dashed', - // ... }, }, // boundaryGap: false, diff --git a/src/views/exa/history/index.vue b/src/views/exa/history/index.vue index aa4f2c2..9d71e43 100644 --- a/src/views/exa/history/index.vue +++ b/src/views/exa/history/index.vue @@ -7,6 +7,9 @@ import HistoryLine from '../HistoryLine.vue' import PointModal from './PointModal.vue' import { getExaHistorys } from '@/api/alert/exa' import { useModal } from '@/components/Modal' +import {useForm} from "@/components/Form"; +import {calcFormSchemas} from "@/views/run/calc/calc.data"; + interface FormState { publishTime: any[] @@ -35,6 +38,7 @@ const state = reactive({ selectedRowKeys: [], }) onMounted(() => { + searchForm.publishTime = [moment().subtract(1, 'day').format('YYYY-MM-DD HH:mm:ss'), moment().format('YYYY-MM-DD HH:mm:ss')] getHistoryChart() }) @@ -44,7 +48,6 @@ const legendName = ref([]) async function getHistoryChart() { state.selectedRowKeys = localStorage.getItem('pointInfo') ? JSON.parse(localStorage.getItem('pointInfo') || '') : [] selectedData.value = localStorage.getItem('pointInfoList') ? JSON.parse(localStorage.getItem('pointInfoList') || '') : [] - searchForm.publishTime = [moment().subtract(1, 'day').format('YYYY-MM-DD HH:mm:ss'), moment().format('YYYY-MM-DD HH:mm:ss')] const pointCodeList = selectedData.value.map(item => (item.itemName)) loading.value = true @@ -53,7 +56,7 @@ async function getHistoryChart() { message.info('暂无测点') const pointCode = selectedData.value.map(item => (item.itemName)).join(',') - const pointDesc: any[] = selectedData.value.map(item => (item.descriptor)) + const pointDesc: any[] = selectedData.value.map(item => (item.descriptor+'('+item.itemName+')')) const exaHistoryReqVO = { startTime: searchForm.publishTime[0], @@ -62,7 +65,7 @@ async function getHistoryChart() { interval: 100, } historyData.value = await getExaHistorys(exaHistoryReqVO) - legendName.value = pointDesc + legendName.value = pointDesc; loading.value = false } diff --git a/src/views/run/calc/index.vue b/src/views/run/calc/index.vue index a52e371..fc62e8e 100644 --- a/src/views/run/calc/index.vue +++ b/src/views/run/calc/index.vue @@ -145,28 +145,23 @@ async function handlebeforeCalc(record?: Recordable) { // 回算 async function handleCalc(formData: any) { calcLoading.value = true - console.log('点击回算按钮数据::::', formData) // 循环调用后端的回算接口 for (const record of formData.records) { updateTableDataRecord(record.mpId, {calcStatus:1}) - rowCalcLoading[record.mpId] = true - console.log('行内回算loading状态:', record.mpId, rowCalcLoading[record.mpId]) try { // 调用后端的回算接口 - 行内回算 formData.mpId = record.mpId // 调用后端的回算接口 - 行内回算 console.log(formData) const res = await calcInstant(formData) - console.log('回算结果:', res) - console.log(record) res.calcStatus = 2 // 更新实例列表 updateTableDataRecord(record.mpId, res) createMessage.success(t('common.successText')) } catch (error) { updateTableDataRecord(record.mpId, {calcStatus:3}) - createMessage.error(t('common.failText')) + createMessage.error(t('common.errorText')) } finally { rowCalcLoading[record.mpId] = false } diff --git a/src/views/run/instant/detail.vue b/src/views/run/instant/detail.vue index da44c97..a6f4521 100644 --- a/src/views/run/instant/detail.vue +++ b/src/views/run/instant/detail.vue @@ -48,7 +48,11 @@ const [registerForm, { getFieldsValue, setProps }] = useForm({ // data为时间组件在表单内的字段,startTime,endTime为转化后的开始时间于结束时间 ['time', ['startTime', 'endTime'], 'YYYY-MM-DD HH:mm:ss'], ], - actionColOptions: { span: 2 }, + actionColOptions: { + span: 2, + style:{ + marginLeft:'5px' + }}, }) const instantId = ref(route.query.mpId) // 获取URL中的query参数 @@ -111,8 +115,9 @@ function handleDetail(record) { router.push('/run/instant/detail') } -function config(value) { - console.log(value) + +function handleFaultConfig(field) { + console.log(field) } @@ -169,7 +174,7 @@ function config(value) { diff --git a/src/views/run/instant/instant.data.ts b/src/views/run/instant/instant.data.ts index d61ed67..ec342b7 100644 --- a/src/views/run/instant/instant.data.ts +++ b/src/views/run/instant/instant.data.ts @@ -269,6 +269,9 @@ export const instantForm: FormSchema[] = [ onChange: (e: any) => { console.log(e) }, + colProps: { + span: 8, + }, }, }, { @@ -276,6 +279,7 @@ export const instantForm: FormSchema[] = [ field: 'interval', component: 'Select', defaultValue: 300, + labelWidth:100, componentProps: { options: [{ value: 1, label: '1秒' }, { value: 10, label: '10秒' }, { value: 100, label: '100秒' }, { value: 300, label: '300秒' }], @@ -285,24 +289,17 @@ export const instantForm: FormSchema[] = [ span: 3, }, }, - { - label: '', - field: '0', - component: 'Input', - slot: 'configButton', - colProps: { - span: 2, - }, - }, { label: '复盘', field: 'fp', + labelWidth:100, component: 'RadioGroup', defaultValue: 0, - + colProps: { + span: 5, + }, componentProps: { - options: [ { label: '是', @@ -317,6 +314,15 @@ export const instantForm: FormSchema[] = [ required: true, }, + { + label: '', + field: 'faultConfig', + component: 'Input', + slot: 'configButton', + colProps: { + span: 2, + } + } ] export const searchFormSchemaModel: FormSchema[] = [ diff --git a/src/views/warn/alarm/TrendModal.vue b/src/views/warn/alarm/TrendModal.vue new file mode 100644 index 0000000..6410544 --- /dev/null +++ b/src/views/warn/alarm/TrendModal.vue @@ -0,0 +1,70 @@ + + + diff --git a/src/views/warn/alarm/alarm.data.ts b/src/views/warn/alarm/alarm.data.ts index 5272436..3bdf76b 100644 --- a/src/views/warn/alarm/alarm.data.ts +++ b/src/views/warn/alarm/alarm.data.ts @@ -4,6 +4,7 @@ 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"; +import moment from "moment/moment"; const optionList = await optionListApi() const systemOptions = ref([]) @@ -189,3 +190,42 @@ export const columns: BasicColumn[] = [ width: 100, } ] + + +export const formTrend: FormSchema[] = [ + { + label: '时间', + field: 'time', + show: true, + component: 'RangePicker', + componentProps: { + placeholder: ['开始时间', '结束时间'], + defaultValue: [moment().subtract(1, 'day').format('YYYY-MM-DD HH:mm:ss'), moment().format('YYYY-MM-DD HH:mm:ss')], + valueFormat: 'YYYY-MM-DD HH:mm:ss', + showTime: { + defaultValue: [moment().subtract(1, 'day').format('YYYY-MM-DD HH:mm:ss'), moment().format('YYYY-MM-DD HH:mm:ss')], + }, + onChange: (e: any) => { + console.log(e) + }, + colProps: { + span: 8, + }, + }, + }, + { + label: '时间间隔', + field: 'interval', + component: 'Select', + defaultValue: 60, + labelWidth:100, + componentProps: { + options: [{ value: 60, label: '60秒' }, { value: 100, label: '100秒' }, { value: 300, label: '300秒' }], + }, + required: true, + colProps: { + span: 5, + }, + }, +] + diff --git a/src/views/warn/alarm/index.vue b/src/views/warn/alarm/index.vue index 5c6248d..0681b7c 100644 --- a/src/views/warn/alarm/index.vue +++ b/src/views/warn/alarm/index.vue @@ -1,13 +1,13 @@ diff --git a/src/views/run/instant/detail1.vue b/src/views/run/instant/detail1.vue new file mode 100644 index 0000000..a6f4521 --- /dev/null +++ b/src/views/run/instant/detail1.vue @@ -0,0 +1,200 @@ + + + + + From 4085803c0436a012f1219170762288d487e60531 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=82=96=E6=99=8B=E9=A3=9E?= <378266566@qq.com> Date: Fri, 19 Dec 2025 18:37:40 +0800 Subject: [PATCH 06/24] =?UTF-8?q?fix:=E5=88=9B=E5=BB=BA=E5=AE=9E=E4=BE=8B?= =?UTF-8?q?=E7=9A=84modal=E5=88=9D=E5=A7=8B=E5=8C=96=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E8=A7=A3=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/run/instant/CreateModal.vue | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/views/run/instant/CreateModal.vue b/src/views/run/instant/CreateModal.vue index a0b280d..630f162 100644 --- a/src/views/run/instant/CreateModal.vue +++ b/src/views/run/instant/CreateModal.vue @@ -20,15 +20,25 @@ const props = defineProps({ default: true, } }) - +const current = ref(0) const {createMessage} = useMessage() const {t} = useI18n() +const state = reactive({ + selectedRowKeys: [], + selectedData: [], + pointInfo: [], + type: false, +}) const [registerCreateModal, {setModalProps, closeModal}] = useModalInner(async (data) => { + resetFields() + current.value=0; + state.selectedRowKeys=[]; + state.selectedData=[]; setModalProps({destroyOnClose: true, showCancelBtn: false, showOkBtn: false}) }) -const current = ref(0) + function next() { current.value++ @@ -85,12 +95,6 @@ watch(() => props.isDisabled, (newVal) => { } }, {immediate: true}) // immediate设置为true,确保组件初始化时也会执行一次 -const state = reactive({ - selectedRowKeys: [], - selectedData: [], - pointInfo: [], - type: false, -}) async function updatempName(selectedRowKeys, selectedRows) { console.log(selectedRowKeys) From 7e2a566381142c8f43133e3b6afbd850c74360ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=82=96=E6=99=8B=E9=A3=9E?= <378266566@qq.com> Date: Fri, 19 Dec 2025 18:43:25 +0800 Subject: [PATCH 07/24] =?UTF-8?q?fix:=E5=88=9B=E5=BB=BA=E5=AE=9E=E4=BE=8B?= =?UTF-8?q?=E7=9A=84modal=E5=88=9D=E5=A7=8B=E5=8C=96=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E8=A7=A3=E5=86=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/run/instant/CreateModal.vue | 35 ++++++++++++--------------- src/views/run/instant/index.vue | 2 +- 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/src/views/run/instant/CreateModal.vue b/src/views/run/instant/CreateModal.vue index 630f162..a3650d4 100644 --- a/src/views/run/instant/CreateModal.vue +++ b/src/views/run/instant/CreateModal.vue @@ -14,12 +14,12 @@ import {useMessage} from '@/hooks/web/useMessage' const emit = defineEmits(['success']) -const props = defineProps({ - isDisabled: { - type: Boolean, - default: true, - } -}) +// const props = defineProps({ +// isDisabled: { +// type: Boolean, +// default: true, +// } +// }) const current = ref(0) const {createMessage} = useMessage() const {t} = useI18n() @@ -31,15 +31,13 @@ const state = reactive({ }) const [registerCreateModal, {setModalProps, closeModal}] = useModalInner(async (data) => { - resetFields() + await resetFields() current.value=0; state.selectedRowKeys=[]; state.selectedData=[]; setModalProps({destroyOnClose: true, showCancelBtn: false, showOkBtn: false}) }) - - function next() { current.value++ } @@ -70,7 +68,6 @@ const [registerForm, {validate, resetFields, setFieldsValue, updateSchema, setPr showSubmitButton: false, showResetButton: false, layout: 'horizontal', - actionColOptions: {span: 2}, disabled: true, }) @@ -86,15 +83,15 @@ const instantForm = reactive({ }) // 本地isDisabled变量 -const isDisabled = ref(true) +// const isDisabled = ref(true) // 监听父组件传递的isDisabled属性变化 -watch(() => props.isDisabled, (newVal) => { - if (newVal !== undefined) { - isDisabled.value = newVal - } -}, {immediate: true}) // immediate设置为true,确保组件初始化时也会执行一次 - +// watch(() => props.isDisabled, (newVal) => { +// if (newVal !== undefined) { +// isDisabled.value = newVal +// } +// }, {immediate: true}) // immediate设置为true,确保组件初始化时也会执行一次 +// async function updatempName(selectedRowKeys, selectedRows) { console.log(selectedRowKeys) @@ -118,10 +115,10 @@ async function updatempName(selectedRowKeys, selectedRows) { // 下一步按钮的禁用与启用 isDisabled.value = selectedRows.length === 0 if (selectedRows.length === 0) - setProps({disabled: true}) + await setProps({disabled: true}) else - setProps({disabled: false}) + await setProps({disabled: false}) instantForm.modelId = selectedRows.length !== 0 ? `${selectedRows[0].modelId}` : `` diff --git a/src/views/run/instant/index.vue b/src/views/run/instant/index.vue index 51a7518..8dccb3e 100644 --- a/src/views/run/instant/index.vue +++ b/src/views/run/instant/index.vue @@ -245,7 +245,7 @@ function handleWarnConfig(record: Recordable) { - + From be3fdc201ae9b952ef6e1bf63cdd3231d222cdde Mon Sep 17 00:00:00 2001 From: xjf <378266566@qq.com> Date: Sat, 20 Dec 2025 00:02:32 +0800 Subject: [PATCH 08/24] =?UTF-8?q?fix:=E5=88=9B=E5=BB=BA=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=AE=9E=E4=BE=8B=E5=BC=B9=E7=AA=97bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/run/instant/CreateModal.vue | 129 +++++++++++--------------- src/views/run/instant/index.vue | 2 +- src/views/run/instant/instant.data.ts | 2 +- src/views/run/model/ModelTable.vue | 3 + src/views/run/model/model.data.ts | 2 +- 5 files changed, 62 insertions(+), 76 deletions(-) diff --git a/src/views/run/instant/CreateModal.vue b/src/views/run/instant/CreateModal.vue index a0b280d..440504a 100644 --- a/src/views/run/instant/CreateModal.vue +++ b/src/views/run/instant/CreateModal.vue @@ -14,21 +14,26 @@ import {useMessage} from '@/hooks/web/useMessage' const emit = defineEmits(['success']) -const props = defineProps({ - isDisabled: { - type: Boolean, - default: true, - } -}) - const {createMessage} = useMessage() const {t} = useI18n() +const current = ref(0) +const state = reactive({ + selectedRowKeys: [], + selectedData: [], + pointInfo: [], + type: false, +}) +// 本地isDisabled变量 +const isDisabled = ref(true) const [registerCreateModal, {setModalProps, closeModal}] = useModalInner(async (data) => { - setModalProps({destroyOnClose: true, showCancelBtn: false, showOkBtn: false}) + resetFields() +current.value=0; +state.selectedData=[]; +state.selectedRowKeys=[]; + isDisabled.value = true }) -const current = ref(0) function next() { current.value++ @@ -36,33 +41,34 @@ function next() { function prev() { current.value-- - if (current.value == 0) { - console.log(state.selectedRowKeys) - console.log(state.selectedData) - } } +// const steps = [ +// { +// title: '壹', +// content: 'First-content', +// }, +// { +// title: '贰', +// content: 'Second-content', +// }, +// ] +// const items = steps.map(item => ({key: item.title, title: item.title})) const steps = [ - { - title: '壹', - content: 'First-content', - }, - { - title: '贰', - content: 'Second-content', - }, + { key: '壹', title: '壹' }, + { key: '贰', title: '贰' }, ] -const items = steps.map(item => ({key: item.title, title: item.title})) - -const [registerForm, {validate, resetFields, setFieldsValue, updateSchema, setProps}] = useForm({ +const [registerForm, {validate, resetFields,getFieldsValue, setFieldsValue, updateSchema, setProps}] = useForm({ labelWidth: 100, schemas: createInstantForm, showSubmitButton: false, showResetButton: false, layout: 'horizontal', - - actionColOptions: {span: 2}, disabled: true, + actionColOptions: { + span: 0, // 不占任何列 + style: { display: 'none' }, + }, }) interface instantForms { @@ -75,34 +81,13 @@ const instantForm = reactive({ mpName: '', }) -// 本地isDisabled变量 -const isDisabled = ref(true) - -// 监听父组件传递的isDisabled属性变化 -watch(() => props.isDisabled, (newVal) => { - if (newVal !== undefined) { - isDisabled.value = newVal - } -}, {immediate: true}) // immediate设置为true,确保组件初始化时也会执行一次 - -const state = reactive({ - selectedRowKeys: [], - selectedData: [], - pointInfo: [], - type: false, -}) - async function updatempName(selectedRowKeys, selectedRows) { - console.log(selectedRowKeys) - console.log(selectedRows) - console.log(instantForm) resetFields() state.selectedRowKeys = selectedRowKeys; state.selectedData = selectedRows; //读出模型中的点号信息 if (selectedRows.length !== 0) { state.type = selectedRows[0].algorithm === 'ANN' - console.log(state.type) state.pointInfo = JSON.parse(selectedRows[0].modelInfo).pointInfo for (const p of state.pointInfo) { p.modelName = selectedRows[0].modelName @@ -119,10 +104,7 @@ async function updatempName(selectedRowKeys, selectedRows) { else setProps({disabled: false}) - instantForm.modelId = selectedRows.length !== 0 ? `${selectedRows[0].modelId}` : `` - instantForm.mpName = selectedRows.length !== 0 ? `${selectedRows[0].modelName}-实例` : `` - setFieldsValue(instantForm) const versionData = selectedRows.length !== 0 ? await getModelVersionList({modelId: selectedRows[0].modelId}) : [] const versionList = [] as any @@ -144,13 +126,19 @@ async function updatempName(selectedRowKeys, selectedRows) { componentProps: { options: versionList, }, + defaultValue: versionList[0]?.value }) updateSchema({ field: 'calcGroup', componentProps: { options: calcGroupList, }, + defaultValue: calcGroupList[0]?.value }) + instantForm.modelId = selectedRows.length !== 0 ? `${selectedRows[0].modelId}` : `` + instantForm.mpName = selectedRows.length !== 0 ? `${selectedRows[0].modelName}-实例` : `` + + setFieldsValue(instantForm) } function onCanel() { @@ -161,48 +149,38 @@ function onCanel() { const loading = ref(false) const pointRef = ref() -async function CompleteCreate() { +async function handleSubmit() { try { loading.value = true - - // 由于自定义按钮的,所以confirmLoading失效 - setModalProps({confirmLoading: true, loading: true}) - + console.log(getFieldsValue()) const values = await validate() console.log(values) - // if (unref(isUpdate)) { - // await updateDemo02Category(values) - // } else { - // await createDemo02Category(values) - // } - // 插入数据库 // 获取子组件的测点列表数据 const pointInfoNew = pointRef.value.getPointTableData() values.pointInfo = pointInfoNew - console.log(values) await createInstant(values) - emit('success') createMessage.success(t('common.saveSuccessText')) - } finally { closeModal() + } + catch (e) { + }finally { loading.value = false - - // 由于自定义按钮的,所以confirmLoading失效 - setModalProps({confirmLoading: false, loading: false}) } } - - + diff --git a/src/views/run/instant/instant.data.ts b/src/views/run/instant/instant.data.ts index ec342b7..e00b697 100644 --- a/src/views/run/instant/instant.data.ts +++ b/src/views/run/instant/instant.data.ts @@ -418,7 +418,7 @@ export const createInstantForm: FormSchema[] = [ ], }, colProps: { - span: 6, + span: 12, }, required: true, diff --git a/src/views/run/model/ModelTable.vue b/src/views/run/model/ModelTable.vue index 6805308..fc49cef 100644 --- a/src/views/run/model/ModelTable.vue +++ b/src/views/run/model/ModelTable.vue @@ -56,6 +56,9 @@ const [registerTable, { getSelectRows,setSelectedRowKeys,setSelectedRows }] = us showResetButton: false, actionColOptions: { span: 2, + style: { + marginLeft: '10px', + }, }, }, useSearchForm: true, diff --git a/src/views/run/model/model.data.ts b/src/views/run/model/model.data.ts index f5bdcd8..bc33216 100644 --- a/src/views/run/model/model.data.ts +++ b/src/views/run/model/model.data.ts @@ -51,6 +51,6 @@ export const searchFormSchema: FormSchema[] = [ field: 'modelName', component: 'Input', defaultValue: '', - colProps: { span: 6 }, + colProps: { span: 10 }, }, ] From 51af3336d6b6ecff62bc2d529a89ababf9d99635 Mon Sep 17 00:00:00 2001 From: xjf <378266566@qq.com> Date: Sat, 20 Dec 2025 00:05:34 +0800 Subject: [PATCH 09/24] =?UTF-8?q?fix:=E5=88=9B=E5=BB=BA=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=AE=9E=E4=BE=8B=E5=BC=B9=E7=AA=97bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/run/model/ModelTable.vue | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/views/run/model/ModelTable.vue b/src/views/run/model/ModelTable.vue index fc49cef..856937a 100644 --- a/src/views/run/model/ModelTable.vue +++ b/src/views/run/model/ModelTable.vue @@ -10,11 +10,19 @@ import { useI18n } from '@/hooks/web/useI18n' defineOptions({ name: 'ModelTable' }) const emit = defineEmits(['success']) -const props = defineProps({ - selectedRowKeys: { type: Array, default: [] }, - selectedData: { type: Array, default: [] }, +import { defineProps } from 'vue' +const props = defineProps({ + selectedRowKeys: { + type: Array as () => number[], + default: () => [], + }, + selectedData: { + type: Array as () => Record[], + default: () => [], + }, }) + const selectedData = ref(props.selectedData) interface RowKeys { From 9457d23e937dc9f3ff41e162cf10ba16e0f2dd4f Mon Sep 17 00:00:00 2001 From: xjf <378266566@qq.com> Date: Sat, 20 Dec 2025 22:58:53 +0800 Subject: [PATCH 10/24] =?UTF-8?q?fix:=E5=88=9B=E5=BB=BA=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=AE=9E=E4=BE=8B=E9=A1=B5=E9=9D=A2=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/run/instant/CreateModal.vue | 22 ++++------------- src/views/run/model/ModelTable.vue | 34 ++++++++++++++------------- 2 files changed, 23 insertions(+), 33 deletions(-) diff --git a/src/views/run/instant/CreateModal.vue b/src/views/run/instant/CreateModal.vue index 440504a..2ca5228 100644 --- a/src/views/run/instant/CreateModal.vue +++ b/src/views/run/instant/CreateModal.vue @@ -23,15 +23,15 @@ const state = reactive({ pointInfo: [], type: false, }) -// 本地isDisabled变量 +// 本地isDisabled变量-表征下一步按钮的启用与禁用 const isDisabled = ref(true) const [registerCreateModal, {setModalProps, closeModal}] = useModalInner(async (data) => { - resetFields() + alert(444) + await resetFields() current.value=0; state.selectedData=[]; state.selectedRowKeys=[]; - isDisabled.value = true }) @@ -42,18 +42,6 @@ function next() { function prev() { current.value-- } - -// const steps = [ -// { -// title: '壹', -// content: 'First-content', -// }, -// { -// title: '贰', -// content: 'Second-content', -// }, -// ] -// const items = steps.map(item => ({key: item.title, title: item.title})) const steps = [ { key: '壹', title: '壹' }, { key: '贰', title: '贰' }, @@ -64,7 +52,6 @@ const [registerForm, {validate, resetFields,getFieldsValue, setFieldsValue, upda showSubmitButton: false, showResetButton: false, layout: 'horizontal', - disabled: true, actionColOptions: { span: 0, // 不占任何列 style: { display: 'none' }, @@ -142,7 +129,8 @@ async function updatempName(selectedRowKeys, selectedRows) { } function onCanel() { - current.value = 0 + state.selectedData=[]; + state.selectedRowKeys=[]; closeModal() } diff --git a/src/views/run/model/ModelTable.vue b/src/views/run/model/ModelTable.vue index 856937a..75e021e 100644 --- a/src/views/run/model/ModelTable.vue +++ b/src/views/run/model/ModelTable.vue @@ -23,25 +23,25 @@ const props = defineProps({ }, }) -const selectedData = ref(props.selectedData) +const selectedData = ref() interface RowKeys { selectedRowKeys: number[] } const state = reactive({ - selectedRowKeys: props.selectedRowKeys + selectedRowKeys: [] }) const { t } = useI18n() -watch( - () => props.selectedRowKeys, - () => { - setSelectedRowKeys(props.selectedRowKeys) - setSelectedRows(props.selectedData) - state.selectedRowKeys = props.selectedRowKeys -console.log(state.selectedRowKeys) - selectedData.value=props.selectedData - }, -) +// watch( +// () => props.selectedRowKeys, +// () => { +// setSelectedRowKeys(props.selectedRowKeys) +// setSelectedRows(props.selectedData) +// state.selectedRowKeys = props.selectedRowKeys +// console.log(state.selectedRowKeys) +// selectedData.value=props.selectedData +// }, +// ) const [registerTable, { getSelectRows,setSelectedRowKeys,setSelectedRows }] = useTable({ title: '模型列表(已下装)', @@ -74,11 +74,13 @@ const [registerTable, { getSelectRows,setSelectedRowKeys,setSelectedRows }] = us showIndexColumn: false, }) -onMounted(async () => { - setSelectedRowKeys(props.selectedRowKeys) - setSelectedRows(props.selectedData) -}) + onMounted(() => { + setSelectedRowKeys([...props.selectedRowKeys]) + setSelectedRows([...props.selectedData]) + }) + + // watch( // () => props.selectedRowKeys, From 619fdc7c064ff4add8308732e1b1b4d10e83088b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=82=96=E6=99=8B=E9=A3=9E?= <378266566@qq.com> Date: Mon, 22 Dec 2025 13:46:15 +0800 Subject: [PATCH 11/24] =?UTF-8?q?fix:=E5=88=9B=E5=BB=BA=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E5=AE=9E=E4=BE=8B=E9=80=82=E9=85=8DANN?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/run/instant/CreateModal.vue | 13 +++++++++---- src/views/run/instant/instant.data.ts | 10 ++++++++++ src/views/run/model/PointTable.vue | 21 +++++++++++++++------ 3 files changed, 34 insertions(+), 10 deletions(-) diff --git a/src/views/run/instant/CreateModal.vue b/src/views/run/instant/CreateModal.vue index e739cf9..9bef6b4 100644 --- a/src/views/run/instant/CreateModal.vue +++ b/src/views/run/instant/CreateModal.vue @@ -27,7 +27,6 @@ const state = reactive({ const isDisabled = ref(true) const [registerCreateModal, {setModalProps, closeModal}] = useModalInner(async (data) => { - alert(444) await resetFields() current.value=0; state.selectedData=[]; @@ -61,12 +60,13 @@ const [registerForm, {validate, resetFields,getFieldsValue, setFieldsValue, upda interface instantForms { modelId?: string mpName?: string + algorithmId?: string } const instantForm = reactive({ modelId: '', mpName: '', - + algorithmId: '' }) async function updatempName(selectedRowKeys, selectedRows) { resetFields() @@ -74,12 +74,13 @@ async function updatempName(selectedRowKeys, selectedRows) { state.selectedData = selectedRows; //读出模型中的点号信息 if (selectedRows.length !== 0) { - state.type = selectedRows[0].algorithm === 'ANN' + console.log(selectedRows) + state.type = selectedRows[0].algorithmId === '2' state.pointInfo = JSON.parse(selectedRows[0].modelInfo).pointInfo for (const p of state.pointInfo) { p.modelName = selectedRows[0].modelName p.modelDescription = selectedRows[0].description - p.algorithm = selectedRows[0].algorithm + p.algorithm = selectedRows[0].algorithmId } } @@ -124,6 +125,7 @@ async function updatempName(selectedRowKeys, selectedRows) { }) instantForm.modelId = selectedRows.length !== 0 ? `${selectedRows[0].modelId}` : `` instantForm.mpName = selectedRows.length !== 0 ? `${selectedRows[0].modelName}-实例` : `` + instantForm.algorithmId=selectedRows.length !== 0 ? `${selectedRows[0].algorithmId}` : `` setFieldsValue(instantForm) } @@ -146,6 +148,9 @@ async function handleSubmit() { // 获取子组件的测点列表数据 const pointInfoNew = pointRef.value.getPointTableData() values.pointInfo = pointInfoNew + console.log(pointInfoNew) + + alert(444) await createInstant(values) emit('success') createMessage.success(t('common.saveSuccessText')) diff --git a/src/views/run/instant/instant.data.ts b/src/views/run/instant/instant.data.ts index e00b697..34c28e9 100644 --- a/src/views/run/instant/instant.data.ts +++ b/src/views/run/instant/instant.data.ts @@ -348,6 +348,16 @@ export const createInstantForm: FormSchema[] = [ span: 12, }, }, + { + label: '算法id', + field: 'algorithmId', + component: 'Input', + required: true, + show: false, + colProps: { + span: 12, + }, + }, { label: '实例名称', field: 'mpName', diff --git a/src/views/run/model/PointTable.vue b/src/views/run/model/PointTable.vue index 10b3e69..6e326f2 100644 --- a/src/views/run/model/PointTable.vue +++ b/src/views/run/model/PointTable.vue @@ -1,5 +1,5 @@ From c8a15d56ae924c33bde1ee80af4658ac0a01a3c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=82=96=E6=99=8B=E9=A3=9E?= <378266566@qq.com> Date: Tue, 23 Dec 2025 17:53:54 +0800 Subject: [PATCH 16/24] =?UTF-8?q?fix:EXA=E5=8E=86=E5=8F=B2=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=97=B6=E9=97=B4=E4=B8=8B=E6=8B=89=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/exa/config/HistoryModal.vue | 10 +++------- src/views/exa/exa.data.ts | 14 ++++++++++++++ 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/src/views/exa/config/HistoryModal.vue b/src/views/exa/config/HistoryModal.vue index 69c9b2e..37f6a16 100644 --- a/src/views/exa/config/HistoryModal.vue +++ b/src/views/exa/config/HistoryModal.vue @@ -10,6 +10,7 @@ import { BasicModal, useModalInner } from '@/components/Modal' import { BasicForm, useForm } from '@/components/Form' import { getExaHistorys } from '@/api/alert/exa' +import {EXAHistoryReqVO} from "@/api/alert/warn"; const props = defineProps({ itemName: { @@ -65,14 +66,9 @@ const [registerHistoryModal, { setModalProps }] = useModalInner(async (data) => }) async function handleSubmitR() { - const serachFormData = getFieldsValue() + const exaHistoryReqVO = getFieldsValue() as EXAHistoryReqVO loading.value = true - const exaHistoryReqVO = { - startTime: serachFormData.startTime, - endTime: serachFormData.endTime, - itemName: props.itemName, - interval: 100, - } + exaHistoryReqVO.itemName = props.itemName historyData.value = await getExaHistorys(exaHistoryReqVO) loading.value = false diff --git a/src/views/exa/exa.data.ts b/src/views/exa/exa.data.ts index 0f70af0..ac2f938 100644 --- a/src/views/exa/exa.data.ts +++ b/src/views/exa/exa.data.ts @@ -127,4 +127,18 @@ export const formHistory: FormSchema[] = [ }, }, }, + { + label: '时间间隔', + field: 'interval', + component: 'Select', + defaultValue: 60, + labelWidth:100, + componentProps: { + options: [{ value: 60, label: '60秒' }, { value: 100, label: '100秒' }, { value: 300, label: '300秒' }], + }, + required: true, + colProps: { + span: 5, + }, + }, ] From 542f9a4777407579f4a61c3d217eb9a716059d83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=82=96=E6=99=8B=E9=A3=9E?= <378266566@qq.com> Date: Tue, 23 Dec 2025 19:26:02 +0800 Subject: [PATCH 17/24] =?UTF-8?q?fix:=E9=9B=86=E4=B8=AD=E5=91=8A=E8=AD=A6?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=97=B6=E9=97=B4=E9=97=B4=E9=9A=94=E4=B8=8B?= =?UTF-8?q?=E6=8B=89=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/warn/alarm/TrendModal.vue | 4 +- src/views/warn/alarm/alarm.data.ts | 72 ++++++++++++++--------------- 2 files changed, 38 insertions(+), 38 deletions(-) diff --git a/src/views/warn/alarm/TrendModal.vue b/src/views/warn/alarm/TrendModal.vue index 6410544..013a707 100644 --- a/src/views/warn/alarm/TrendModal.vue +++ b/src/views/warn/alarm/TrendModal.vue @@ -3,7 +3,7 @@ import { ref } from 'vue' import moment from 'moment' import { Card } from 'ant-design-vue' -import { formTrend } from './alarm.data' +import { formHistory } from '../../exa/exa.data' import HistoryLine from '../../exa/HistoryLine.vue' import { BasicModal, useModalInner } from '@/components/Modal' @@ -21,7 +21,7 @@ const loading = ref(true) const [registerForm, { getFieldsValue }] = useForm({ labelWidth: 100, // baseColProps: { span: 24 }, - schemas: formTrend, + schemas: formHistory, showResetButton: false, layout: 'horizontal', model: { time: [moment().subtract(1, 'day').format('YYYY-MM-DD HH:mm:ss'), moment().format('YYYY-MM-DD HH:mm:ss')] }, diff --git a/src/views/warn/alarm/alarm.data.ts b/src/views/warn/alarm/alarm.data.ts index cc6c8f6..a5108c1 100644 --- a/src/views/warn/alarm/alarm.data.ts +++ b/src/views/warn/alarm/alarm.data.ts @@ -208,40 +208,40 @@ export const columns: BasicColumn[] = [ ] -export const formTrend: FormSchema[] = [ - { - label: '时间', - field: 'time', - show: true, - component: 'RangePicker', - componentProps: { - placeholder: ['开始时间', '结束时间'], - defaultValue: [moment().subtract(1, 'day').format('YYYY-MM-DD HH:mm:ss'), moment().format('YYYY-MM-DD HH:mm:ss')], - valueFormat: 'YYYY-MM-DD HH:mm:ss', - showTime: { - defaultValue: [moment().subtract(1, 'day').format('YYYY-MM-DD HH:mm:ss'), moment().format('YYYY-MM-DD HH:mm:ss')], - }, - onChange: (e: any) => { - console.log(e) - }, - colProps: { - span: 8, - }, - }, - }, - { - label: '时间间隔', - field: 'interval', - component: 'Select', - defaultValue: 60, - labelWidth:100, - componentProps: { - options: [{ value: 60, label: '60秒' }, { value: 100, label: '100秒' }, { value: 300, label: '300秒' }], - }, - required: true, - colProps: { - span: 5, - }, - }, -] +// export const formTrend: FormSchema[] = [ +// { +// label: '时间', +// field: 'time', +// show: true, +// component: 'RangePicker', +// componentProps: { +// placeholder: ['开始时间', '结束时间'], +// defaultValue: [moment().subtract(1, 'day').format('YYYY-MM-DD HH:mm:ss'), moment().format('YYYY-MM-DD HH:mm:ss')], +// valueFormat: 'YYYY-MM-DD HH:mm:ss', +// showTime: { +// defaultValue: [moment().subtract(1, 'day').format('YYYY-MM-DD HH:mm:ss'), moment().format('YYYY-MM-DD HH:mm:ss')], +// }, +// onChange: (e: any) => { +// console.log(e) +// }, +// colProps: { +// span: 8, +// }, +// }, +// }, +// { +// label: '时间间隔', +// field: 'interval', +// component: 'Select', +// defaultValue: 60, +// labelWidth:100, +// componentProps: { +// options: [{ value: 60, label: '60秒' }, { value: 100, label: '100秒' }, { value: 300, label: '300秒' }], +// }, +// required: true, +// colProps: { +// span: 5, +// }, +// }, +// ] From 6e389dff9670e2091633ecc22129b970e478fe78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=82=96=E6=99=8B=E9=A3=9E?= <378266566@qq.com> Date: Wed, 24 Dec 2025 10:58:14 +0800 Subject: [PATCH 18/24] =?UTF-8?q?fix:=E5=88=9B=E5=BB=BA=E5=AE=9E=E4=BE=8B?= =?UTF-8?q?=E5=8F=AA=E7=AD=9B=E9=80=89=E6=9C=AA=E5=AE=9E=E4=BE=8B=E5=8C=96?= =?UTF-8?q?=E7=9A=84=E6=A8=A1=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/run/model/ModelTable.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/views/run/model/ModelTable.vue b/src/views/run/model/ModelTable.vue index 457ea77..b895d3d 100644 --- a/src/views/run/model/ModelTable.vue +++ b/src/views/run/model/ModelTable.vue @@ -46,7 +46,8 @@ const { t } = useI18n() const [registerTable, { getSelectRows,setSelectedRowKeys,setSelectedRows }] = useTable({ title: '模型列表(已下装)', api: getModelPage, - searchInfo: {status:1}, + //!!!查询参数:status:1----已下装的;instant_num-----没有实例化的模型!!! + searchInfo: {status:1,instantNum:0}, rowKey: 'modelId', rowSelection: { type: 'radio', async onChange(selectedRowKeys, selectedRows) { From e3bad0eb69f5d0816cc16e8ac3b96a6437b54e53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=82=96=E6=99=8B=E9=A3=9E?= <378266566@qq.com> Date: Thu, 25 Dec 2025 10:19:16 +0800 Subject: [PATCH 19/24] =?UTF-8?q?fix:=E9=9B=86=E4=B8=AD=E5=91=8A=E8=AD=A6?= =?UTF-8?q?=E8=B6=8B=E5=8A=BF=E5=B1=95=E7=A4=BA=E9=94=99=E8=AF=AF=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/alert/warn/index.ts | 4 ++-- src/views/warn/alarm/TrendModal.vue | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/api/alert/warn/index.ts b/src/api/alert/warn/index.ts index f36090e..376093b 100644 --- a/src/api/alert/warn/index.ts +++ b/src/api/alert/warn/index.ts @@ -47,7 +47,7 @@ export interface WarnTrendReqVO { } // 查询预警趋势 -export function getWarnTrend(params: WarnTrendReqVO) { - return defHttp.get({ url: '/alert/warn/alarm/trend', params }) +export function getWarnTrend(data: WarnTrendReqVO) { + return defHttp.post({ url: '/alert/warn/alarm/trend', data }) } diff --git a/src/views/warn/alarm/TrendModal.vue b/src/views/warn/alarm/TrendModal.vue index 013a707..a8e4713 100644 --- a/src/views/warn/alarm/TrendModal.vue +++ b/src/views/warn/alarm/TrendModal.vue @@ -48,9 +48,9 @@ async function handleSubmitR() { //拿到表单值 const params:WarnTrendReqVO={ id:props.warnId, - exaHistoryReqVO:serachFormData + ...serachFormData } - +console.log(params.exaHistoryReqVO) const result = await getWarnTrend(params) console.log(result) trendData.value=result.valueList; From 7c44f39322685488a7c6ff705d95a5215c748ed2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=82=96=E6=99=8B=E9=A3=9E?= <378266566@qq.com> Date: Thu, 25 Dec 2025 11:03:20 +0800 Subject: [PATCH 20/24] =?UTF-8?q?fix:=E5=A2=9E=E5=8A=A0=E5=9B=BE=E6=A0=87?= =?UTF-8?q?=E7=99=BD=E5=90=8D=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/iconify/safelist.ts | 765 +++++++++++++++++++++++++++++++++ 1 file changed, 765 insertions(+) diff --git a/src/assets/iconify/safelist.ts b/src/assets/iconify/safelist.ts index e424410..8734d5b 100644 --- a/src/assets/iconify/safelist.ts +++ b/src/assets/iconify/safelist.ts @@ -1,28 +1,792 @@ export const iconifySafelist: string[] = [ + 'ant-design:check-circle-outlined', + 'ant-design:chrome-outlined', + 'ant-design:check-circle-twotone', + 'ant-design:check-outlined', + 'ant-design:check-square-filled', + 'ant-design:check-square-outlined', + 'ant-design:check-square-twotone', + 'ant-design:chrome-filled', + 'ant-design:account-book-filled', + 'ant-design:account-book-outlined', 'ant-design:account-book-twotone', + 'ant-design:aim-outlined', + 'ant-design:alert-filled', + 'ant-design:alert-outlined', + 'ant-design:alert-twotone', + 'ant-design:alibaba-outlined', + 'ant-design:align-center-outlined', + 'ant-design:align-left-outlined', + 'ant-design:align-right-outlined', + 'ant-design:alipay-circle-filled', + 'ant-design:alipay-circle-outlined', + 'ant-design:alipay-outlined', + 'ant-design:alipay-square-filled', + 'ant-design:aliwangwang-filled', + 'ant-design:aliwangwang-outlined', 'ant-design:aliyun-outlined', + 'ant-design:amazon-circle-filled', + 'ant-design:amazon-outlined', + 'ant-design:amazon-square-filled', 'ant-design:android-filled', + 'ant-design:android-outlined', + 'ant-design:ant-cloud-outlined', + 'ant-design:ant-design-outlined', + 'ant-design:apartment-outlined', + 'ant-design:api-filled', + 'ant-design:api-outlined', + 'ant-design:api-twotone', + 'ant-design:apple-filled', + 'ant-design:apple-outlined', + 'ant-design:appstore-add-outlined', 'ant-design:appstore-filled', 'ant-design:appstore-outlined', + 'ant-design:appstore-twotone', + 'ant-design:area-chart-outlined', + 'ant-design:arrow-down-outlined', + 'ant-design:arrow-left-outlined', + 'ant-design:arrow-right-outlined', + 'ant-design:arrow-up-outlined', + 'ant-design:arrows-alt-outlined', + 'ant-design:audio-filled', + 'ant-design:audio-muted-outlined', + 'ant-design:audio-outlined', + 'ant-design:audio-twotone', + 'ant-design:audit-outlined', + 'ant-design:backward-filled', + 'ant-design:backward-outlined', + 'ant-design:bank-filled', + 'ant-design:bank-outlined', + 'ant-design:bank-twotone', 'ant-design:bar-chart-outlined', + 'ant-design:barcode-outlined', + 'ant-design:bars-outlined', + 'ant-design:behance-circle-filled', + 'ant-design:behance-outlined', + 'ant-design:behance-square-filled', + 'ant-design:behance-square-outlined', + 'ant-design:bell-filled', 'ant-design:bell-outlined', + 'ant-design:bell-twotone', + 'ant-design:bg-colors-outlined', + 'ant-design:block-outlined', + 'ant-design:bold-outlined', + 'ant-design:book-filled', + 'ant-design:book-outlined', + 'ant-design:book-twotone', + 'ant-design:border-bottom-outlined', + 'ant-design:border-horizontal-outlined', + 'ant-design:border-inner-outlined', + 'ant-design:border-left-outlined', + 'ant-design:border-outer-outlined', + 'ant-design:border-outlined', + 'ant-design:border-right-outlined', + 'ant-design:border-top-outlined', + 'ant-design:border-verticle-outlined', + 'ant-design:borderless-table-outlined', + 'ant-design:box-plot-filled', + 'ant-design:box-plot-outlined', + 'ant-design:box-plot-twotone', + 'ant-design:branches-outlined', 'ant-design:bug-filled', + 'ant-design:bug-outlined', + 'ant-design:bug-twotone', + 'ant-design:build-filled', + 'ant-design:build-outlined', + 'ant-design:build-twotone', + 'ant-design:bulb-filled', + 'ant-design:bulb-outlined', + 'ant-design:bulb-twotone', + 'ant-design:calculator-filled', + 'ant-design:calculator-outlined', + 'ant-design:calculator-twotone', + 'ant-design:calendar-filled', + 'ant-design:calendar-outlined', + 'ant-design:calendar-twotone', + 'ant-design:camera-filled', + 'ant-design:camera-outlined', + 'ant-design:camera-twotone', + 'ant-design:car-filled', + 'ant-design:car-outlined', + 'ant-design:car-twotone', + 'ant-design:caret-down-filled', + 'ant-design:caret-down-outlined', + 'ant-design:caret-left-filled', + 'ant-design:caret-left-outlined', + 'ant-design:caret-right-filled', + 'ant-design:caret-right-outlined', + 'ant-design:caret-up-filled', + 'ant-design:caret-up-outlined', 'ant-design:carry-out-filled', 'ant-design:carry-out-outlined', 'ant-design:carry-out-twotone', + 'ant-design:check-circle-filled', + 'ant-design:ci-circle-filled', + 'ant-design:ci-circle-outlined', + 'ant-design:ci-circle-twotone', + 'ant-design:ci-outlined', + 'ant-design:ci-twotone', + 'ant-design:clear-outlined', + 'ant-design:clock-circle-filled', + 'ant-design:clock-circle-outlined', + 'ant-design:clock-circle-twotone', + 'ant-design:close-circle-filled', + 'ant-design:close-circle-outlined', + 'ant-design:close-circle-twotone', + 'ant-design:close-outlined', + 'ant-design:close-square-filled', + 'ant-design:close-square-outlined', + 'ant-design:close-square-twotone', + 'ant-design:cloud-download-outlined', + 'ant-design:cloud-filled', + 'ant-design:cloud-outlined', + 'ant-design:cloud-server-outlined', + 'ant-design:cloud-sync-outlined', + 'ant-design:cloud-twotone', + 'ant-design:cloud-upload-outlined', + 'ant-design:cluster-outlined', + 'ant-design:code-filled', + 'ant-design:code-outlined', + 'ant-design:code-sandbox-circle-filled', + 'ant-design:code-sandbox-outlined', + 'ant-design:code-sandbox-square-filled', + 'ant-design:code-twotone', + 'ant-design:codepen-circle-filled', + 'ant-design:codepen-circle-outlined', + 'ant-design:codepen-outlined', + 'ant-design:codepen-square-filled', + 'ant-design:coffee-outlined', + 'ant-design:column-height-outlined', + 'ant-design:column-width-outlined', + 'ant-design:comment-outlined', + 'ant-design:compass-filled', + 'ant-design:compass-outlined', + 'ant-design:compass-twotone', + 'ant-design:compress-outlined', + 'ant-design:console-sql-outlined', + 'ant-design:contacts-filled', + 'ant-design:contacts-outlined', + 'ant-design:contacts-twotone', + 'ant-design:container-filled', + 'ant-design:container-outlined', + 'ant-design:container-twotone', 'ant-design:control-filled', + 'ant-design:control-outlined', + 'ant-design:control-twotone', + 'ant-design:copy-filled', + 'ant-design:copy-outlined', + 'ant-design:copy-twotone', + 'ant-design:copyright-circle-filled', + 'ant-design:copyright-circle-outlined', + 'ant-design:copyright-circle-twotone', + 'ant-design:copyright-outlined', + 'ant-design:copyright-twotone', + 'ant-design:credit-card-filled', + 'ant-design:credit-card-outlined', + 'ant-design:credit-card-twotone', + 'ant-design:crown-filled', + 'ant-design:crown-outlined', + 'ant-design:crown-twotone', + 'ant-design:customer-service-filled', + 'ant-design:customer-service-outlined', + 'ant-design:customer-service-twotone', + 'ant-design:dash-outlined', + 'ant-design:dashboard-filled', + 'ant-design:dashboard-outlined', + 'ant-design:dashboard-twotone', + 'ant-design:database-filled', + 'ant-design:database-outlined', + 'ant-design:database-twotone', + 'ant-design:delete-column-outlined', + 'ant-design:delete-filled', + 'ant-design:delete-outlined', + 'ant-design:delete-row-outlined', + 'ant-design:delete-twotone', + 'ant-design:delivered-procedure-outlined', + 'ant-design:deployment-unit-outlined', + 'ant-design:desktop-outlined', + 'ant-design:diff-filled', + 'ant-design:diff-outlined', + 'ant-design:diff-twotone', + 'ant-design:dingding-outlined', + 'ant-design:dingtalk-circle-filled', + 'ant-design:dingtalk-outlined', + 'ant-design:dingtalk-square-filled', + 'ant-design:disconnect-outlined', + 'ant-design:dislike-filled', + 'ant-design:dislike-outlined', + 'ant-design:dislike-twotone', + 'ant-design:dollar-circle-filled', + 'ant-design:dollar-circle-outlined', + 'ant-design:dollar-circle-twotone', + 'ant-design:dollar-outlined', + 'ant-design:dollar-twotone', + 'ant-design:dot-chart-outlined', + 'ant-design:double-left-outlined', + 'ant-design:double-right-outlined', + 'ant-design:down-circle-filled', + 'ant-design:down-circle-outlined', + 'ant-design:down-circle-twotone', + 'ant-design:down-outlined', + 'ant-design:down-square-filled', + 'ant-design:down-square-outlined', + 'ant-design:down-square-twotone', + 'ant-design:download-outlined', + 'ant-design:drag-outlined', + 'ant-design:dribbble-circle-filled', + 'ant-design:dribbble-outlined', + 'ant-design:dribbble-square-filled', + 'ant-design:dribbble-square-outlined', + 'ant-design:dropbox-circle-filled', + 'ant-design:dropbox-outlined', + 'ant-design:dropbox-square-filled', + 'ant-design:edit-filled', + 'ant-design:edit-outlined', + 'ant-design:edit-twotone', + 'ant-design:ellipsis-outlined', + 'ant-design:enter-outlined', + 'ant-design:environment-filled', + 'ant-design:environment-outlined', + 'ant-design:environment-twotone', + 'ant-design:euro-circle-filled', + 'ant-design:euro-circle-outlined', + 'ant-design:euro-circle-twotone', + 'ant-design:euro-outlined', + 'ant-design:euro-twotone', + 'ant-design:exception-outlined', + 'ant-design:exclamation-circle-filled', + 'ant-design:exclamation-circle-outlined', + 'ant-design:exclamation-circle-twotone', + 'ant-design:exclamation-outlined', + 'ant-design:expand-alt-outlined', + 'ant-design:expand-outlined', + 'ant-design:experiment-filled', 'ant-design:experiment-outlined', + 'ant-design:experiment-twotone', + 'ant-design:export-outlined', + 'ant-design:eye-filled', + 'ant-design:eye-invisible-filled', + 'ant-design:eye-invisible-outlined', + 'ant-design:eye-invisible-twotone', + 'ant-design:eye-outlined', + 'ant-design:eye-twotone', + 'ant-design:facebook-filled', + 'ant-design:facebook-outlined', + 'ant-design:fall-outlined', + 'ant-design:fast-backward-filled', + 'ant-design:fast-backward-outlined', + 'ant-design:fast-forward-filled', + 'ant-design:fast-forward-outlined', 'ant-design:field-binary-outlined', + 'ant-design:field-number-outlined', + 'ant-design:field-string-outlined', + 'ant-design:field-time-outlined', + 'ant-design:file-add-filled', + 'ant-design:file-add-outlined', + 'ant-design:file-add-twotone', + 'ant-design:file-done-outlined', + 'ant-design:file-excel-filled', + 'ant-design:file-excel-outlined', + 'ant-design:file-excel-twotone', + 'ant-design:file-exclamation-filled', + 'ant-design:file-exclamation-outlined', + 'ant-design:file-exclamation-twotone', + 'ant-design:file-filled', + 'ant-design:file-gif-outlined', + 'ant-design:file-image-filled', + 'ant-design:file-image-outlined', + 'ant-design:file-image-twotone', + 'ant-design:file-jpg-outlined', + 'ant-design:file-markdown-filled', + 'ant-design:file-markdown-outlined', + 'ant-design:file-markdown-twotone', + 'ant-design:file-outlined', + 'ant-design:file-pdf-filled', + 'ant-design:file-pdf-outlined', 'ant-design:file-pdf-twotone', + 'ant-design:file-ppt-filled', + 'ant-design:file-ppt-outlined', + 'ant-design:file-ppt-twotone', + 'ant-design:file-protect-outlined', + 'ant-design:file-search-outlined', + 'ant-design:file-sync-outlined', + 'ant-design:file-text-filled', + 'ant-design:file-text-outlined', + 'ant-design:file-text-twotone', + 'ant-design:file-twotone', + 'ant-design:file-unknown-filled', + 'ant-design:file-unknown-outlined', + 'ant-design:file-unknown-twotone', + 'ant-design:file-word-filled', + 'ant-design:file-word-outlined', + 'ant-design:file-word-twotone', + 'ant-design:file-zip-filled', + 'ant-design:file-zip-outlined', + 'ant-design:file-zip-twotone', + 'ant-design:filter-filled', + 'ant-design:filter-outlined', + 'ant-design:filter-twotone', + 'ant-design:fire-filled', + 'ant-design:fire-outlined', + 'ant-design:fire-twotone', + 'ant-design:flag-filled', + 'ant-design:flag-outlined', + 'ant-design:flag-twotone', + 'ant-design:folder-add-filled', + 'ant-design:folder-add-outlined', + 'ant-design:folder-add-twotone', + 'ant-design:folder-filled', + 'ant-design:folder-open-filled', + 'ant-design:folder-open-outlined', + 'ant-design:folder-open-twotone', + 'ant-design:folder-outlined', + 'ant-design:folder-twotone', + 'ant-design:folder-view-outlined', + 'ant-design:font-colors-outlined', + 'ant-design:font-size-outlined', + 'ant-design:fork-outlined', + 'ant-design:form-outlined', + 'ant-design:format-painter-filled', + 'ant-design:format-painter-outlined', + 'ant-design:forward-filled', + 'ant-design:forward-outlined', + 'ant-design:frown-filled', + 'ant-design:frown-outlined', + 'ant-design:frown-twotone', + 'ant-design:fullscreen-exit-outlined', + 'ant-design:fullscreen-outlined', + 'ant-design:function-outlined', + 'ant-design:fund-filled', 'ant-design:fund-outlined', + 'ant-design:fund-projection-screen-outlined', + 'ant-design:fund-twotone', + 'ant-design:fund-view-outlined', + 'ant-design:funnel-plot-filled', + 'ant-design:funnel-plot-outlined', + 'ant-design:funnel-plot-twotone', + 'ant-design:gateway-outlined', + 'ant-design:gif-outlined', + 'ant-design:gift-filled', + 'ant-design:gift-outlined', + 'ant-design:gift-twotone', + 'ant-design:github-filled', + 'ant-design:github-outlined', + 'ant-design:gitlab-filled', + 'ant-design:gitlab-outlined', + 'ant-design:global-outlined', + 'ant-design:gold-filled', + 'ant-design:gold-outlined', + 'ant-design:gold-twotone', + 'ant-design:golden-filled', + 'ant-design:google-circle-filled', + 'ant-design:google-outlined', + 'ant-design:google-plus-circle-filled', + 'ant-design:google-plus-outlined', + 'ant-design:google-plus-square-filled', + 'ant-design:google-square-filled', + 'ant-design:group-outlined', + 'ant-design:hdd-filled', + 'ant-design:hdd-outlined', + 'ant-design:hdd-twotone', + 'ant-design:heart-filled', + 'ant-design:heart-outlined', + 'ant-design:heart-twotone', + 'ant-design:heat-map-outlined', + 'ant-design:highlight-filled', + 'ant-design:highlight-outlined', + 'ant-design:highlight-twotone', + 'ant-design:history-outlined', 'ant-design:home-filled', + 'ant-design:home-outlined', + 'ant-design:home-twotone', + 'ant-design:hourglass-filled', + 'ant-design:hourglass-outlined', + 'ant-design:hourglass-twotone', + 'ant-design:html5-filled', + 'ant-design:html5-outlined', + 'ant-design:html5-twotone', + 'ant-design:idcard-filled', + 'ant-design:idcard-outlined', + 'ant-design:idcard-twotone', + 'ant-design:ie-circle-filled', + 'ant-design:ie-outlined', + 'ant-design:ie-square-filled', + 'ant-design:import-outlined', + 'ant-design:inbox-outlined', 'ant-design:info-circle-filled', + 'ant-design:info-circle-outlined', + 'ant-design:info-circle-twotone', + 'ant-design:info-outlined', + 'ant-design:insert-row-above-outlined', + 'ant-design:insert-row-below-outlined', 'ant-design:insert-row-left-outlined', + 'ant-design:insert-row-right-outlined', + 'ant-design:instagram-filled', + 'ant-design:instagram-outlined', + 'ant-design:insurance-filled', + 'ant-design:insurance-outlined', + 'ant-design:insurance-twotone', + 'ant-design:interaction-filled', + 'ant-design:interaction-outlined', + 'ant-design:interaction-twotone', + 'ant-design:issues-close-outlined', + 'ant-design:italic-outlined', + 'ant-design:key-outlined', + 'ant-design:laptop-outlined', 'ant-design:layout-filled', + 'ant-design:layout-outlined', + 'ant-design:layout-twotone', + 'ant-design:left-circle-filled', + 'ant-design:left-circle-outlined', + 'ant-design:left-circle-twotone', + 'ant-design:left-outlined', + 'ant-design:left-square-filled', + 'ant-design:left-square-outlined', + 'ant-design:left-square-twotone', + 'ant-design:like-filled', + 'ant-design:like-outlined', + 'ant-design:like-twotone', + 'ant-design:line-chart-outlined', + 'ant-design:line-height-outlined', + 'ant-design:line-outlined', + 'ant-design:link-outlined', + 'ant-design:linkedin-filled', + 'ant-design:linkedin-outlined', + 'ant-design:loading-3-quarters-outlined', + 'ant-design:loading-outlined', + 'ant-design:lock-filled', + 'ant-design:lock-outlined', + 'ant-design:lock-twotone', + 'ant-design:login-outlined', + 'ant-design:logout-outlined', + 'ant-design:mac-command-filled', + 'ant-design:mac-command-outlined', + 'ant-design:mail-filled', + 'ant-design:mail-outlined', + 'ant-design:mail-twotone', + 'ant-design:man-outlined', + 'ant-design:medicine-box-filled', + 'ant-design:medicine-box-outlined', + 'ant-design:medicine-box-twotone', + 'ant-design:medium-circle-filled', + 'ant-design:medium-outlined', + 'ant-design:medium-square-filled', + 'ant-design:medium-workmark-outlined', + 'ant-design:meh-filled', + 'ant-design:meh-outlined', + 'ant-design:meh-twotone', + 'ant-design:menu-fold-outlined', + 'ant-design:menu-outlined', + 'ant-design:menu-unfold-outlined', + 'ant-design:merge-cells-outlined', + 'ant-design:message-filled', + 'ant-design:message-outlined', + 'ant-design:message-twotone', + 'ant-design:minus-circle-filled', + 'ant-design:minus-circle-outlined', + 'ant-design:minus-circle-twotone', + 'ant-design:minus-outlined', + 'ant-design:minus-square-filled', + 'ant-design:minus-square-outlined', + 'ant-design:minus-square-twotone', + 'ant-design:mobile-filled', + 'ant-design:mobile-outlined', + 'ant-design:mobile-twotone', + 'ant-design:money-collect-filled', + 'ant-design:money-collect-outlined', + 'ant-design:money-collect-twotone', + 'ant-design:monitor-outlined', + 'ant-design:more-outlined', + 'ant-design:node-collapse-outlined', + 'ant-design:node-expand-outlined', + 'ant-design:node-index-outlined', + 'ant-design:notification-filled', + 'ant-design:notification-outlined', + 'ant-design:notification-twotone', + 'ant-design:number-outlined', + 'ant-design:one-to-one-outlined', + 'ant-design:ordered-list-outlined', + 'ant-design:paper-clip-outlined', + 'ant-design:partition-outlined', + 'ant-design:pause-circle-filled', + 'ant-design:pause-circle-outlined', + 'ant-design:pause-circle-twotone', + 'ant-design:pause-outlined', + 'ant-design:pay-circle-filled', + 'ant-design:pay-circle-outlined', + 'ant-design:percentage-outlined', + 'ant-design:phone-filled', + 'ant-design:phone-outlined', + 'ant-design:phone-twotone', + 'ant-design:pic-center-outlined', + 'ant-design:pic-left-outlined', + 'ant-design:pic-right-outlined', + 'ant-design:picture-filled', + 'ant-design:picture-outlined', + 'ant-design:picture-twotone', + 'ant-design:pie-chart-filled', + 'ant-design:pie-chart-outlined', + 'ant-design:pie-chart-twotone', + 'ant-design:play-circle-filled', + 'ant-design:play-circle-outlined', + 'ant-design:play-circle-twotone', + 'ant-design:play-square-filled', + 'ant-design:play-square-outlined', + 'ant-design:play-square-twotone', + 'ant-design:plus-circle-filled', + 'ant-design:plus-circle-outlined', + 'ant-design:plus-circle-twotone', + 'ant-design:plus-outlined', + 'ant-design:plus-square-filled', + 'ant-design:plus-square-outlined', + 'ant-design:plus-square-twotone', + 'ant-design:pound-circle-filled', + 'ant-design:pound-circle-outlined', + 'ant-design:pound-circle-twotone', + 'ant-design:pound-outlined', + 'ant-design:poweroff-outlined', + 'ant-design:printer-filled', + 'ant-design:printer-outlined', + 'ant-design:printer-twotone', + 'ant-design:profile-filled', + 'ant-design:profile-outlined', + 'ant-design:profile-twotone', + 'ant-design:project-filled', + 'ant-design:project-outlined', + 'ant-design:project-twotone', + 'ant-design:property-safety-filled', + 'ant-design:property-safety-outlined', + 'ant-design:property-safety-twotone', + 'ant-design:pull-request-outlined', + 'ant-design:pushpin-filled', + 'ant-design:pushpin-outlined', + 'ant-design:pushpin-twotone', + 'ant-design:qq-circle-filled', + 'ant-design:qq-outlined', + 'ant-design:qq-square-filled', + 'ant-design:qrcode-outlined', + 'ant-design:question-circle-filled', + 'ant-design:question-circle-outlined', + 'ant-design:question-circle-twotone', + 'ant-design:question-outlined', + 'ant-design:radar-chart-outlined', 'ant-design:radius-bottomleft-outlined', + 'ant-design:radius-bottomright-outlined', + 'ant-design:radius-setting-outlined', + 'ant-design:radius-upleft-outlined', + 'ant-design:radius-upright-outlined', + 'ant-design:read-filled', + 'ant-design:read-outlined', + 'ant-design:reconciliation-filled', + 'ant-design:reconciliation-outlined', + 'ant-design:reconciliation-twotone', + 'ant-design:red-envelope-filled', + 'ant-design:red-envelope-outlined', + 'ant-design:red-envelope-twotone', + 'ant-design:reddit-circle-filled', + 'ant-design:reddit-outlined', + 'ant-design:reddit-square-filled', + 'ant-design:redo-outlined', + 'ant-design:reload-outlined', + 'ant-design:rest-filled', + 'ant-design:rest-outlined', + 'ant-design:rest-twotone', + 'ant-design:retweet-outlined', + 'ant-design:right-circle-filled', + 'ant-design:right-circle-outlined', + 'ant-design:right-circle-twotone', + 'ant-design:right-outlined', + 'ant-design:right-square-filled', + 'ant-design:right-square-outlined', + 'ant-design:right-square-twotone', + 'ant-design:rise-outlined', + 'ant-design:robot-filled', + 'ant-design:robot-outlined', + 'ant-design:rocket-filled', + 'ant-design:rocket-outlined', + 'ant-design:rocket-twotone', + 'ant-design:rollback-outlined', + 'ant-design:rotate-left-outlined', + 'ant-design:rotate-right-outlined', + 'ant-design:safety-certificate-filled', + 'ant-design:safety-certificate-outlined', + 'ant-design:safety-certificate-twotone', + 'ant-design:safety-outlined', + 'ant-design:save-filled', + 'ant-design:save-outlined', + 'ant-design:save-twotone', + 'ant-design:scan-outlined', + 'ant-design:schedule-filled', + 'ant-design:schedule-outlined', + 'ant-design:schedule-twotone', + 'ant-design:scissor-outlined', + 'ant-design:search-outlined', + 'ant-design:security-scan-filled', + 'ant-design:security-scan-outlined', + 'ant-design:security-scan-twotone', + 'ant-design:select-outlined', + 'ant-design:send-outlined', + 'ant-design:setting-filled', + 'ant-design:setting-outlined', + 'ant-design:setting-twotone', + 'ant-design:shake-outlined', + 'ant-design:share-alt-outlined', + 'ant-design:shop-filled', + 'ant-design:shop-outlined', + 'ant-design:shop-twotone', + 'ant-design:shopping-cart-outlined', + 'ant-design:shopping-filled', + 'ant-design:shopping-outlined', + 'ant-design:shopping-twotone', + 'ant-design:shrink-outlined', + 'ant-design:signal-filled', + 'ant-design:sisternode-outlined', + 'ant-design:sketch-circle-filled', + 'ant-design:sketch-outlined', + 'ant-design:sketch-square-filled', + 'ant-design:skin-filled', + 'ant-design:skin-outlined', + 'ant-design:skin-twotone', + 'ant-design:skype-filled', + 'ant-design:skype-outlined', + 'ant-design:slack-circle-filled', + 'ant-design:slack-outlined', + 'ant-design:slack-square-filled', + 'ant-design:slack-square-outlined', + 'ant-design:sliders-filled', + 'ant-design:sliders-outlined', + 'ant-design:sliders-twotone', + 'ant-design:small-dash-outlined', + 'ant-design:smile-filled', + 'ant-design:smile-outlined', + 'ant-design:smile-twotone', + 'ant-design:snippets-filled', + 'ant-design:snippets-outlined', + 'ant-design:snippets-twotone', + 'ant-design:solution-outlined', + 'ant-design:sort-ascending-outlined', + 'ant-design:sort-descending-outlined', + 'ant-design:sound-filled', + 'ant-design:sound-outlined', + 'ant-design:sound-twotone', + 'ant-design:split-cells-outlined', + 'ant-design:star-filled', + 'ant-design:star-outlined', + 'ant-design:star-twotone', + 'ant-design:step-backward-filled', + 'ant-design:step-backward-outlined', + 'ant-design:step-forward-filled', + 'ant-design:step-forward-outlined', + 'ant-design:stock-outlined', + 'ant-design:stop-filled', + 'ant-design:stop-outlined', + 'ant-design:stop-twotone', + 'ant-design:strikethrough-outlined', + 'ant-design:subnode-outlined', + 'ant-design:swap-left-outlined', + 'ant-design:swap-outlined', + 'ant-design:swap-right-outlined', + 'ant-design:switcher-filled', + 'ant-design:switcher-outlined', + 'ant-design:switcher-twotone', + 'ant-design:sync-outlined', + 'ant-design:table-outlined', + 'ant-design:tablet-filled', + 'ant-design:tablet-outlined', + 'ant-design:tablet-twotone', + 'ant-design:tag-filled', + 'ant-design:tag-outlined', + 'ant-design:tag-twotone', + 'ant-design:tags-filled', + 'ant-design:tags-outlined', + 'ant-design:tags-twotone', + 'ant-design:taobao-circle-filled', + 'ant-design:taobao-circle-outlined', + 'ant-design:taobao-outlined', + 'ant-design:taobao-square-filled', + 'ant-design:team-outlined', + 'ant-design:thunderbolt-filled', + 'ant-design:thunderbolt-outlined', + 'ant-design:thunderbolt-twotone', + 'ant-design:to-top-outlined', + 'ant-design:tool-filled', + 'ant-design:tool-outlined', + 'ant-design:tool-twotone', + 'ant-design:trademark-circle-filled', + 'ant-design:trademark-circle-outlined', + 'ant-design:trademark-circle-twotone', + 'ant-design:trademark-outlined', + 'ant-design:transaction-outlined', + 'ant-design:translation-outlined', + 'ant-design:trophy-filled', + 'ant-design:trophy-outlined', + 'ant-design:trophy-twotone', + 'ant-design:twitter-circle-filled', + 'ant-design:twitter-outlined', + 'ant-design:twitter-square-filled', + 'ant-design:underline-outlined', + 'ant-design:undo-outlined', + 'ant-design:ungroup-outlined', + 'ant-design:unlock-filled', + 'ant-design:unlock-outlined', + 'ant-design:unlock-twotone', + 'ant-design:unordered-list-outlined', + 'ant-design:up-circle-filled', + 'ant-design:up-circle-outlined', + 'ant-design:up-circle-twotone', + 'ant-design:up-outlined', + 'ant-design:up-square-filled', + 'ant-design:up-square-outlined', + 'ant-design:up-square-twotone', + 'ant-design:upload-outlined', + 'ant-design:usb-filled', + 'ant-design:usb-outlined', + 'ant-design:usb-twotone', + 'ant-design:user-add-outlined', + 'ant-design:user-delete-outlined', + 'ant-design:user-outlined', + 'ant-design:user-switch-outlined', + 'ant-design:usergroup-add-outlined', + 'ant-design:usergroup-delete-outlined', 'ant-design:verified-outlined', + 'ant-design:vertical-align-bottom-outlined', + 'ant-design:vertical-align-middle-outlined', + 'ant-design:vertical-align-top-outlined', + 'ant-design:vertical-left-outlined', + 'ant-design:vertical-right-outlined', + 'ant-design:video-camera-add-outlined', + 'ant-design:video-camera-filled', + 'ant-design:video-camera-outlined', + 'ant-design:video-camera-twotone', + 'ant-design:wallet-filled', + 'ant-design:wallet-outlined', + 'ant-design:wallet-twotone', + 'ant-design:warning-filled', + 'ant-design:warning-outlined', + 'ant-design:warning-twotone', + 'ant-design:wechat-filled', + 'ant-design:wechat-outlined', + 'ant-design:weibo-circle-filled', + 'ant-design:weibo-circle-outlined', + 'ant-design:weibo-outlined', + 'ant-design:weibo-square-filled', + 'ant-design:weibo-square-outlined', + 'ant-design:whats-app-outlined', + 'ant-design:wifi-outlined', + 'ant-design:windows-filled', 'ant-design:windows-outlined', + 'ant-design:woman-outlined', + 'ant-design:yahoo-filled', + 'ant-design:yahoo-outlined', + 'ant-design:youtube-filled', + 'ant-design:youtube-outlined', 'ant-design:yuque-filled', + 'ant-design:yuque-outlined', + 'ant-design:zhihu-circle-filled', + 'ant-design:zhihu-outlined', + 'ant-design:zhihu-square-filled', + 'ant-design:zoom-in-outlined', + 'ant-design:zoom-out-outlined', 'ep:avatar', 'ep:chat-dot-round', 'ep:collection', @@ -35,6 +799,7 @@ export const iconifySafelist: string[] = [ 'ep:takeaway-box', 'ep:tools', 'ep:user', + 'ep:monitor', 'fa:address-card', 'fa:edit', 'fa:stack-exchange', From 16d7eb994a64f418f720ca6b356222d3dfbf516b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=82=96=E6=99=8B=E9=A3=9E?= <378266566@qq.com> Date: Thu, 25 Dec 2025 11:23:33 +0800 Subject: [PATCH 21/24] =?UTF-8?q?fix:=E6=9A=82=E6=97=B6=E5=8E=BB=E9=99=A4?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/run/instant/index.vue | 5 ++--- src/views/run/instant/warnConfig/index.vue | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/views/run/instant/index.vue b/src/views/run/instant/index.vue index 8733918..6c71067 100644 --- a/src/views/run/instant/index.vue +++ b/src/views/run/instant/index.vue @@ -228,14 +228,13 @@ function handleWarnConfig(record: Recordable) {