From febfe6cc75a905f5ef35c54b5c5f446eb96bdc8b Mon Sep 17 00:00:00 2001 From: ulleo Date: Fri, 24 May 2024 16:44:54 +0800 Subject: [PATCH] =?UTF-8?q?feat(X-Pack):=20=E6=95=B0=E6=8D=AE=E5=A1=AB?= =?UTF-8?q?=E6=8A=A5=E8=A1=A8=E5=8D=95=E6=97=A5=E6=9C=9F=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E8=AE=BE=E7=BD=AE=E5=B9=B4/=E5=B9=B4?= =?UTF-8?q?=E6=9C=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/datafill/CommentWriteHandler.java | 24 ++++- .../service/datafill/DataFillDataService.java | 45 ++++++++- core/frontend/src/lang/en.js | 1 + core/frontend/src/lang/tw.js | 1 + core/frontend/src/lang/zh.js | 1 + .../views/dataFilling/form/EditFormData.vue | 38 ++------ .../src/views/dataFilling/form/ViewTable.vue | 27 ++++-- .../src/views/dataFilling/form/create.vue | 92 ++++++++++--------- .../src/views/dataFilling/myTask/index.vue | 34 ++----- .../common/dto/datafill/ExtTableField.java | 3 + 10 files changed, 153 insertions(+), 113 deletions(-) diff --git a/core/backend/src/main/java/io/dataease/service/datafill/CommentWriteHandler.java b/core/backend/src/main/java/io/dataease/service/datafill/CommentWriteHandler.java index 3d8d35ea4f..cdeff01b34 100644 --- a/core/backend/src/main/java/io/dataease/service/datafill/CommentWriteHandler.java +++ b/core/backend/src/main/java/io/dataease/service/datafill/CommentWriteHandler.java @@ -42,7 +42,29 @@ public class CommentWriteHandler implements RowWriteHandler { StringBuilder options = new StringBuilder(); switch (field.getSettings().getMapping().getType()) { case datetime: - example = "\n(日期格式: yyyy/MM/dd" + (field.getSettings().isEnableTime() ? " HH:mm:ss" : "") + ")"; + String dateFormat = "yyyy/MM/dd"; + switch (field.getSettings().getDateType()) { + case "year": + dateFormat = "yyyy"; + break; + case "month": + case "monthrange": + dateFormat = "yyyy/MM"; + break; + case "datetime": + case "datetimerange": + dateFormat = "yyyy/MM/dd HH:mm:ss"; + break; + case "date": + case "daterange": + dateFormat = "yyyy/MM/dd"; + break; + default: + if (field.getSettings().isEnableTime()) { //兼容旧版 + dateFormat = "yyyy/MM/dd HH:mm:ss"; + } + } + example = "\n(日期格式: " + dateFormat + ")"; break; case number: example = "\n(整形数字)"; diff --git a/core/backend/src/main/java/io/dataease/service/datafill/DataFillDataService.java b/core/backend/src/main/java/io/dataease/service/datafill/DataFillDataService.java index c0c532d9f0..cf449ee748 100644 --- a/core/backend/src/main/java/io/dataease/service/datafill/DataFillDataService.java +++ b/core/backend/src/main/java/io/dataease/service/datafill/DataFillDataService.java @@ -934,16 +934,53 @@ public class DataFillDataService { return null; } SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); //默认会拿到这种格式的 - if (field.getSettings().isEnableTime()) { - sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + switch (field.getSettings().getDateType()) { + case "year": + sdf = new SimpleDateFormat("yyyy"); + break; + case "month": + case "monthrange": + sdf = new SimpleDateFormat("yyyy-MM"); + break; + case "datetime": + case "datetimerange": + sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + break; + case "date": + case "daterange": + sdf = new SimpleDateFormat("yyyy-MM-dd"); + break; + default: + if (field.getSettings().isEnableTime()) { //兼容旧版 + sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + } } + Date date = null; try { date = sdf.parse(excelRowData); } catch (ParseException e) { sdf = new SimpleDateFormat("yyyy/MM/dd"); //以防万一也加上这种 - if (field.getSettings().isEnableTime()) { - sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); + switch (field.getSettings().getDateType()) { + case "year": + sdf = new SimpleDateFormat("yyyy"); + break; + case "month": + case "monthrange": + sdf = new SimpleDateFormat("yyyy/MM"); + break; + case "datetime": + case "datetimerange": + sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); + break; + case "date": + case "daterange": + sdf = new SimpleDateFormat("yyyy/MM/dd"); + break; + default: + if (field.getSettings().isEnableTime()) { //兼容旧版 + sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); + } } date = sdf.parse(excelRowData); } diff --git a/core/frontend/src/lang/en.js b/core/frontend/src/lang/en.js index f99895c847..bc6ba1d5bb 100644 --- a/core/frontend/src/lang/en.js +++ b/core/frontend/src/lang/en.js @@ -648,6 +648,7 @@ export default { start_hint_word: 'Start Hint Word', end_hint_word: 'End Hint Word', input_type: 'Input Type', + date_type: 'Date Format', check: 'Check', set_required: 'Set Required', set_unique: 'Set Unique', diff --git a/core/frontend/src/lang/tw.js b/core/frontend/src/lang/tw.js index e3d2e0dfd3..5e7ba6a5b4 100644 --- a/core/frontend/src/lang/tw.js +++ b/core/frontend/src/lang/tw.js @@ -648,6 +648,7 @@ export default { start_hint_word: '開始提示詞', end_hint_word: '結束提示詞', input_type: '格式類型', + date_type: '展示粒度', check: '校驗', set_required: '設置為必填項', set_unique: '不允許重復值', diff --git a/core/frontend/src/lang/zh.js b/core/frontend/src/lang/zh.js index 5575ebdbc5..5e51e789ea 100644 --- a/core/frontend/src/lang/zh.js +++ b/core/frontend/src/lang/zh.js @@ -646,6 +646,7 @@ export default { start_hint_word: '开始提示词', end_hint_word: '结束提示词', input_type: '格式类型', + date_type: '展示粒度', check: '校验', set_required: '设置为必填项', set_unique: '不允许重复值', diff --git a/core/frontend/src/views/dataFilling/form/EditFormData.vue b/core/frontend/src/views/dataFilling/form/EditFormData.vue index 209e401432..90e8409269 100644 --- a/core/frontend/src/views/dataFilling/form/EditFormData.vue +++ b/core/frontend/src/views/dataFilling/form/EditFormData.vue @@ -91,6 +91,12 @@ export default { forEach(this.forms, v => { if (!v.removed) { const f = cloneDeep(v) + if (f.type === 'date' && f.settings.dateType === undefined) { // 兼容旧的 + f.settings.dateType = f.settings.enableTime ? 'datetime' : 'date' + } + if (f.type === 'dateRange' && f.settings.dateType === undefined) { // 兼容旧的 + f.settings.dateType = f.settings.enableTime ? 'datetimerange' : 'daterange' + } if (f.type === 'dateRange') { const _start = this.data[f.settings.mapping.columnName1] const _end = this.data[f.settings.mapping.columnName2] @@ -349,46 +355,22 @@ export default { - - - {{ formatDate(scope.row.data[c.props], c.enableTime) }} + {{ formatDate(scope.row.data[c.props], c.dateType) }}