|
|
|
@ -475,6 +475,10 @@ export default defineComponent({ |
|
|
|
}, 500) |
|
|
|
|
|
|
|
function handleDeleteTrainTime(index: number) { |
|
|
|
if (!canEditModel.value) { |
|
|
|
createMessage.warning('非草稿版本不可修改训练时间') |
|
|
|
return |
|
|
|
} |
|
|
|
if (!model.value?.trainTime) |
|
|
|
return |
|
|
|
// 赋值新数组,确保响应式 |
|
|
|
@ -500,12 +504,20 @@ export default defineComponent({ |
|
|
|
updateModelInfoDebounced() |
|
|
|
} |
|
|
|
async function clearModel() { |
|
|
|
if (!canEditModel.value) { |
|
|
|
createMessage.warning('非草稿版本不可清除训练结果') |
|
|
|
return |
|
|
|
} |
|
|
|
model.value.para = null |
|
|
|
updateModelInfoDebounced() |
|
|
|
await getHistory() |
|
|
|
} |
|
|
|
|
|
|
|
async function trainModel() { |
|
|
|
if (!canEditModel.value) { |
|
|
|
createMessage.warning('非草稿版本不可训练模型') |
|
|
|
return |
|
|
|
} |
|
|
|
const modelInfo = model.value |
|
|
|
if (!modelInfo || !modelInfo.id) { |
|
|
|
console.error('模型信息不完整,无法训练') |
|
|
|
@ -612,7 +624,6 @@ export default defineComponent({ |
|
|
|
dayjs(sorted[0].st), |
|
|
|
dayjs(sorted[sorted.length - 1].et), |
|
|
|
] |
|
|
|
historyTime.value = trainRange |
|
|
|
await getTestData(trainRange) |
|
|
|
} |
|
|
|
else { |
|
|
|
@ -664,6 +675,10 @@ export default defineComponent({ |
|
|
|
} |
|
|
|
|
|
|
|
function openPointModal(index, record) { |
|
|
|
if (!canEditModel.value) { |
|
|
|
createMessage.warning('非草稿版本不可编辑测点参数') |
|
|
|
return |
|
|
|
} |
|
|
|
// 当前页 index |
|
|
|
const pageIndex = index |
|
|
|
// 全局 index |
|
|
|
@ -672,14 +687,21 @@ export default defineComponent({ |
|
|
|
) |
|
|
|
openEditPointModal.value = true |
|
|
|
pointEditRecord = record |
|
|
|
const normalizeBool = (val: any) => { |
|
|
|
if (val === true || val === '是' || val === 1 || val === '1') |
|
|
|
return true |
|
|
|
if (val === false || val === '否' || val === 0 || val === '0') |
|
|
|
return false |
|
|
|
return !!val |
|
|
|
} |
|
|
|
editForm.value = { |
|
|
|
index: globalIndex, |
|
|
|
Upper: record?.Upper ?? '', |
|
|
|
Lower: record?.Lower ?? '', |
|
|
|
lowerBound: record?.lowerBound ?? '', |
|
|
|
upperBound: record?.upperBound ?? '', |
|
|
|
dead: !!record?.dead, |
|
|
|
limit: !!record?.limit, |
|
|
|
dead: normalizeBool(record?.dead), |
|
|
|
limit: normalizeBool(record?.limit), |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -690,6 +712,10 @@ export default defineComponent({ |
|
|
|
const openEditModeModal = ref<boolean>(false) |
|
|
|
|
|
|
|
function openEditMode() { |
|
|
|
if (!canEditModel.value) { |
|
|
|
createMessage.warning('非草稿版本不可修改模式') |
|
|
|
return |
|
|
|
} |
|
|
|
openEditModeModal.value = true |
|
|
|
mode.value = { |
|
|
|
alarmcondition: model.value?.alarmmodelset?.alarmcondition || '1=1', |
|
|
|
@ -754,6 +780,10 @@ export default defineComponent({ |
|
|
|
} |
|
|
|
|
|
|
|
function openEditModel() { |
|
|
|
if (!canEditModel.value) { |
|
|
|
createMessage.warning('非草稿版本不可修改模型') |
|
|
|
return |
|
|
|
} |
|
|
|
editModelForm.value.sampling = model.value?.sampling || 0 |
|
|
|
editModelForm.value.rate = model.value?.rate || 0 |
|
|
|
editModelForm.value.selectedKeys = (model.value?.pointInfo || []).map(item => `${item.description}|${item.pointId}|${item.unit}|${item.Lower}|${item.Upper}`) |
|
|
|
@ -765,6 +795,10 @@ export default defineComponent({ |
|
|
|
openEditModelModal.value = true |
|
|
|
} |
|
|
|
function handleEditModelOk() { |
|
|
|
if (!canEditModel.value) { |
|
|
|
createMessage.warning('非草稿版本不可修改模型') |
|
|
|
return |
|
|
|
} |
|
|
|
model.value.sampling = editModelForm.value.sampling |
|
|
|
model.value.rate = editModelForm.value.rate |
|
|
|
model.value.pointInfo = editModelForm.value.selectedKeys.map((key) => { |
|
|
|
@ -797,6 +831,10 @@ export default defineComponent({ |
|
|
|
const isVTestVersion = computed( |
|
|
|
() => (model.value?.Cur_Version || model.value?.version) === 'v-test', |
|
|
|
) |
|
|
|
const canEditModel = computed(() => { |
|
|
|
const version = selectedVersion.value || model.value?.Cur_Version || model.value?.version |
|
|
|
return version === 'v-test' |
|
|
|
}) |
|
|
|
const isBottomed = computed(() => model.value?.btmState === '已下装') |
|
|
|
const reportColumns = [ |
|
|
|
{ title: '评估时间', dataIndex: 'assessTime' }, |
|
|
|
@ -982,9 +1020,7 @@ export default defineComponent({ |
|
|
|
createMessage.error('创建草稿版本失败') |
|
|
|
} |
|
|
|
} |
|
|
|
const showTrainActions = computed( |
|
|
|
() => !isBottomed.value || isVTestVersion.value || selectedVersion.value === 'v-test', |
|
|
|
) |
|
|
|
const showTrainActions = computed(() => canEditModel.value) |
|
|
|
|
|
|
|
function goAssessReport(reportId?: number | null | Event) { |
|
|
|
// 防止直接作为事件处理时收到 PointerEvent |
|
|
|
@ -1055,6 +1091,7 @@ export default defineComponent({ |
|
|
|
createDraftVersion, |
|
|
|
goAssessReport, |
|
|
|
showTrainActions, |
|
|
|
canEditModel, |
|
|
|
} |
|
|
|
}, |
|
|
|
}) |
|
|
|
@ -1161,7 +1198,7 @@ export default defineComponent({ |
|
|
|
:bordered="false" |
|
|
|
style="margin-top: 16px; margin-bottom: -20px" |
|
|
|
> |
|
|
|
<a-button size="large" @click="openEditMode"> |
|
|
|
<a-button size="large" :disabled="!canEditModel" @click="openEditMode"> |
|
|
|
{{ model?.alarmmodelset?.alarmname || '全工况运行' }} |
|
|
|
</a-button> |
|
|
|
</a-card> |
|
|
|
@ -1172,21 +1209,28 @@ export default defineComponent({ |
|
|
|
<BasicTable @register="trainTimeTable"> |
|
|
|
<template #action="{ record, index }"> |
|
|
|
<a-button |
|
|
|
v-if="showTrainActions" |
|
|
|
type="link" |
|
|
|
danger |
|
|
|
@click="handleDeleteTrainTime(index)" |
|
|
|
> |
|
|
|
删除 |
|
|
|
</a-button> |
|
|
|
<span v-else>--</span> |
|
|
|
</template> |
|
|
|
</BasicTable> |
|
|
|
</a-tab-pane> |
|
|
|
<a-tab-pane key="2" tab="测点参数"> |
|
|
|
<BasicTable @register="pointTable"> |
|
|
|
<template #action="{ record, index }"> |
|
|
|
<a-button type="primary" @click="openPointModal(index, record)"> |
|
|
|
<a-button |
|
|
|
v-if="showTrainActions" |
|
|
|
type="primary" |
|
|
|
@click="openPointModal(index, record)" |
|
|
|
> |
|
|
|
编辑 |
|
|
|
</a-button> |
|
|
|
<span v-else>--</span> |
|
|
|
</template> |
|
|
|
</BasicTable> |
|
|
|
</a-tab-pane> |
|
|
|
|