{
})
},
- formatDate(value, enableTime) {
+ formatDate(value, dateType) {
if (!value) {
return value
}
- if (enableTime) {
- return value.format('yyyy-MM-dd hh:mm:ss')
- } else {
- return value.format('yyyy-MM-dd')
+ switch (dateType) {
+ case 'year':
+ return value.format('yyyy')
+ case 'month':
+ case 'monthrange':
+ return value.format('yyyy-MM')
+ case 'datetime':
+ case 'datetimerange':
+ return value.format('yyyy-MM-dd hh:mm:ss')
+ default:
+ return value.format('yyyy-MM-dd')
}
},
diff --git a/core/frontend/src/views/dataFilling/form/create.vue b/core/frontend/src/views/dataFilling/form/create.vue
index 6d0c1bd029..b2c4cb391a 100644
--- a/core/frontend/src/views/dataFilling/form/create.vue
+++ b/core/frontend/src/views/dataFilling/form/create.vue
@@ -30,6 +30,17 @@ export default {
disableCreateIndex: false,
requiredRule: { required: true, message: this.$t('commons.required'), trigger: ['blur', 'change'] },
duplicateOptionRule: { validator: checkDuplicateOptionValidator, trigger: ['blur', 'change'] },
+ dateTypes: [
+ { name: this.$t('chart.y'), value: 'year' },
+ { name: this.$t('chart.y_M'), value: 'month' },
+ { name: this.$t('chart.y_M_d'), value: 'date' },
+ { name: this.$t('chart.y_M_d_H_m_s'), value: 'datetime' }
+ ],
+ dateRangeTypes: [
+ { name: this.$t('chart.y_M'), value: 'monthrange' },
+ { name: this.$t('chart.y_M_d'), value: 'daterange' },
+ { name: this.$t('chart.y_M_d_H_m_s'), value: 'datetimerange' }
+ ],
inputTypes: [
{ type: 'text', name: this.$t('data_fill.form.text'), rules: [] },
{ type: 'number', name: this.$t('data_fill.form.number'), rules: [] },
@@ -150,7 +161,8 @@ export default {
id: undefined,
settings: {
name: this.$t('commons.component.date'),
- enableTime: false,
+ enableTime: false, // 弃用
+ dateType: 'date',
placeholder: '',
required: false,
mapping: {
@@ -169,7 +181,8 @@ export default {
id: undefined,
settings: {
name: this.$t('commons.component.dateRange'),
- enableTime: false,
+ enableTime: false, // 弃用
+ dateType: 'daterange',
rangeSeparator: '-',
startPlaceholder: '',
endPlaceholder: '',
@@ -265,13 +278,20 @@ export default {
this.formSettings = tempData
this.formSettings.table = tempData.tableName
this.formSettings.folder = tempData.pid
- this.formSettings.forms = filter(JSON.parse(res.data.forms), f => !f.removed)
- forEach(this.formSettings.forms, f => {
+ const tempForms = filter(JSON.parse(res.data.forms), f => !f.removed)
+ forEach(tempForms, f => {
f.old = true
if (f.type === 'checkbox' || f.type === 'select' && f.settings.multiple) {
f.value = []
}
+ 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'
+ }
})
+ this.formSettings.forms = tempForms
this.formSettings.oldForms = JSON.parse(res.data.forms)
this.formSettings.tableIndexes = JSON.parse(res.data.tableIndexes)
@@ -717,43 +737,21 @@ export default {
-
-
+
+
+
+
+
+
@@ -956,17 +975,6 @@ export default {
{{ $t('data_fill.form.set_multiple') }}
-
-
- {{ $t('data_fill.form.use_datetime') }}
-
-
diff --git a/core/frontend/src/views/dataFilling/myTask/index.vue b/core/frontend/src/views/dataFilling/myTask/index.vue
index a927b04708..2a96cac93a 100644
--- a/core/frontend/src/views/dataFilling/myTask/index.vue
+++ b/core/frontend/src/views/dataFilling/myTask/index.vue
@@ -212,39 +212,17 @@ export default {
this.selectedFormTitle = res.data.name
this.forms = JSON.parse(res.data.forms)
- const _list = []
+ const dateFormatColumns = []
forEach(this.forms, f => {
if (f.type === 'dateRange') {
- _list.push({
- props: f.settings?.mapping?.columnName1,
- label: f.settings?.name,
- date: true,
- enableTime: f.settings?.enableTime,
- type: f.type,
- multiple: !!f.settings.multiple,
- rangeIndex: 0
- })
- _list.push({
- props: f.settings?.mapping?.columnName2,
- label: f.settings?.name,
- date: true,
- enableTime: f.settings?.enableTime,
- type: f.type,
- multiple: !!f.settings.multiple,
- rangeIndex: 1
- })
+ dateFormatColumns.push(f.settings?.mapping?.columnName1)
+ dateFormatColumns.push(f.settings?.mapping?.columnName2)
} else {
- _list.push({
- props: f.settings?.mapping?.columnName,
- label: f.settings?.name,
- date: f.type === 'date',
- enableTime: f.type === 'date' && f.settings?.enableTime,
- type: f.type,
- multiple: !!f.settings.multiple
- })
+ if (f.type === 'date') {
+ dateFormatColumns.push(f.settings?.mapping?.columnName)
+ }
}
})
- const dateFormatColumns = map(filter(_list, c => c.date), 'props')
searchTable(row.formId, {
primaryKeyValue: row.valueId,
diff --git a/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/dto/datafill/ExtTableField.java b/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/dto/datafill/ExtTableField.java
index c7eef62736..2aaea51937 100644
--- a/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/dto/datafill/ExtTableField.java
+++ b/sdk/dataease-plugin-common/src/main/java/io/dataease/plugins/common/dto/datafill/ExtTableField.java
@@ -39,6 +39,7 @@ public class ExtTableField implements Serializable {
private ExtTableFieldMapping mapping;
+ //弃用
private boolean enableTime;
private String rangeSeparator;
@@ -47,6 +48,8 @@ public class ExtTableField implements Serializable {
private String inputType;
+ private String dateType;
+
private String placeholder;
private String startPlaceholder;
private String endPlaceholder;