diff --git a/packages/nc-gui/composables/useSmartsheetRowStore.ts b/packages/nc-gui/composables/useSmartsheetRowStore.ts index b5969a71d7..7c710d9d1c 100644 --- a/packages/nc-gui/composables/useSmartsheetRowStore.ts +++ b/packages/nc-gui/composables/useSmartsheetRowStore.ts @@ -122,39 +122,43 @@ const [useProvideSmartsheetRowStore, useSmartsheetRowStore] = useInjectionState( // clear LTAR cell const clearLTARCell = async (column: ColumnType) => { - if (!column || column.uidt !== UITypes.LinkToAnotherRecord) return + try { + if (!column || column.uidt !== UITypes.LinkToAnotherRecord) return - const relatedTableMeta = metas.value?.[(column?.colOptions)?.fk_related_model_id as string] + const relatedTableMeta = metas.value?.[(column?.colOptions)?.fk_related_model_id as string] - if (isNew.value) { - state.value[column.title!] = null - } else if (currentRow.value) { - if ((column.colOptions)?.type === RelationTypes.BELONGS_TO) { - if (!currentRow.value.row[column.title!]) return - await $api.dbTableRow.nestedRemove( - NOCO, - project.value.title as string, - meta.value?.title as string, - extractPkFromRow(currentRow.value.row, meta.value?.columns as ColumnType[]), - 'bt' as any, - column.title as string, - extractPkFromRow(currentRow.value.row[column.title!], relatedTableMeta?.columns as ColumnType[]), - ) - currentRow.value.row[column.title!] = null - } else { - for (const link of (currentRow.value.row[column.title!] as Record[]) || []) { + if (isNew.value) { + state.value[column.title!] = null + } else if (currentRow.value) { + if ((column.colOptions)?.type === RelationTypes.BELONGS_TO) { + if (!currentRow.value.row[column.title!]) return await $api.dbTableRow.nestedRemove( NOCO, project.value.title as string, meta.value?.title as string, extractPkFromRow(currentRow.value.row, meta.value?.columns as ColumnType[]), - (column?.colOptions).type as 'hm' | 'mm', + 'bt' as any, column.title as string, - extractPkFromRow(link, relatedTableMeta?.columns as ColumnType[]), + extractPkFromRow(currentRow.value.row[column.title!], relatedTableMeta?.columns as ColumnType[]), ) + currentRow.value.row[column.title!] = null + } else { + for (const link of (currentRow.value.row[column.title!] as Record[]) || []) { + await $api.dbTableRow.nestedRemove( + NOCO, + project.value.title as string, + meta.value?.title as string, + extractPkFromRow(currentRow.value.row, meta.value?.columns as ColumnType[]), + (column?.colOptions).type as 'hm' | 'mm', + column.title as string, + extractPkFromRow(link, relatedTableMeta?.columns as ColumnType[]), + ) + } currentRow.value.row[column.title!] = [] } } + } catch (e: any) { + message.error(await extractSdkResponseErrorMsg(e)) } }