diff --git a/core/core-frontend/src/locales/en.ts b/core/core-frontend/src/locales/en.ts index 4e00d84497..147525c1a7 100644 --- a/core/core-frontend/src/locales/en.ts +++ b/core/core-frontend/src/locales/en.ts @@ -114,6 +114,7 @@ export default { client: 'Client' }, data_set: { + validation_succeeded: 'Field expression validation succeeded', to_nth_digits: 'Retain the Mth to Nth digits', the_column_permissions: 'Are you sure you want to delete column permissions?', last_n_digits: 'Retain the first M digits and the last N digits', diff --git a/core/core-frontend/src/locales/tw.ts b/core/core-frontend/src/locales/tw.ts index 262bc64417..57af6f9079 100644 --- a/core/core-frontend/src/locales/tw.ts +++ b/core/core-frontend/src/locales/tw.ts @@ -114,6 +114,7 @@ export default { client: '客戶端' }, data_set: { + validation_succeeded: '欄位表達式校驗成功', to_nth_digits: '保留第M至N位元', the_column_permissions: '確定刪除列權限嗎?', last_n_digits: '保留前M位元,後N位元', diff --git a/core/core-frontend/src/locales/zh-CN.ts b/core/core-frontend/src/locales/zh-CN.ts index 8cac0c879a..a954344007 100644 --- a/core/core-frontend/src/locales/zh-CN.ts +++ b/core/core-frontend/src/locales/zh-CN.ts @@ -115,6 +115,7 @@ export default { client: '客户端' }, data_set: { + validation_succeeded: '字段表达式校验成功', to_nth_digits: '保留第M至N位', the_column_permissions: '确定删除列权限吗?', last_n_digits: '保留前M位,后N位', diff --git a/core/core-frontend/src/views/visualized/data/dataset/form/index.vue b/core/core-frontend/src/views/visualized/data/dataset/form/index.vue index be8628400b..8ce369eba9 100644 --- a/core/core-frontend/src/views/visualized/data/dataset/form/index.vue +++ b/core/core-frontend/src/views/visualized/data/dataset/form/index.vue @@ -980,6 +980,41 @@ const setActiveName = (data: Table) => { activeName.value = data.tableName } +const verify = () => { + if (datasetPreviewLoading.value) return + calcEdit.value.formField.validate(val => { + if (val) { + calcEdit.value.setFieldForm() + if (!calcEdit.value.fieldForm.originName.trim()) { + ElMessage.error(t('data_set.cannot_be_empty_de_')) + return + } + const obj = cloneDeep(calcEdit.value.fieldForm) + const { deType, dateFormat, deExtractType } = obj + obj.dateFormat = deType === 1 ? dateFormat : '' + obj.dateFormatType = deType === 1 ? dateFormat : '' + obj.deTypeArr = deType === 1 && deExtractType === 0 ? [deType, dateFormat] : [deType] + const result = allfields.value.findIndex(ele => obj.id === ele.id) + const allfieldsCopy = cloneDeep(unref(allfields)) + if (result !== -1) { + allfieldsCopy.splice(result, 1, obj) + } else { + allfieldsCopy.push(obj) + } + const arr = [] + dfsNodeList(arr, datasetDrag.value.getNodeList()) + datasetPreviewLoading.value = true + getPreviewData({ union: arr, allFields: allfieldsCopy }) + .then(() => { + ElMessage.success(t('data_set.validation_succeeded')) + }) + .finally(() => { + datasetPreviewLoading.value = false + }) + } + }) +} + const isDragging = ref(false) const mousedownDrag = () => { @@ -2217,6 +2252,7 @@ const getDsIconName = data => {